C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
помогите создать форма
Гость_Aziz
  Отправлено: 18.08.2003, 23:24


Не зарегистрирован







вот у меня такой код есть. пожалиста мне переводите на C BUILDER 5.
этот код предназначен для создания нестандартная форма.

var
Form1: TForm1;
rtemp,rtemp2:Thandle;
rasm:Tbitmap;
rang:Tcolor;
path:string;
t:longint;
asos, w1,w2,w3,w4,w5:byte;
implementation

{$R *.dfm}
function Tform1.BitmapToRegion(Bitmap: TBitmap; TransColor: TColor): HRGN;
var
X, Y: Integer;
XStart: Integer;
begin
Result := 0;
with Bitmap do
for Y := 0 to Height — 1 do
begin
X := 0;
while X < Width do
begin
// Пропускаем прозрачные точки
while (X < Width) and (Canvas.Pixels[X, Y] = TransColor) do
Inc(X);
if X>= Width then
Break;
XStart := X;
// Пропускаем непрозрачные точки
while (X < Width) and (Canvas.Pixels[X, Y] <> TransColor) do
Inc(X);
// Создаём новый прямоугольный регион и добавляем его к
// региону всей картинки
if Result = 0 then
Result := CreateRectRgn(XStart, Y, X, Y + 1)
else
CombineRgn(Result, Result,
CreateRectRgn(XStart, Y, X, Y + 1), RGN_OR);
end;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin

path:=getcurrentdir;

rang:=clwhite;
rasm:=image1.Picture.Bitmap;
rtemp:=BitmapToRegion(rasm, rang );
//rtemp2:=CreaterectRgn(85,height-50,width-25,height);
//CombineRgn(rTemp, rTemp, rTemp2, RGN_OR);

setwindowrgn(handle,rtemp,tru sad.gif

Вернуться в Вопросы программирования в C++Builder