Текущий архив: 2005.11.06;
Скачать: CL | DM;
Внизрисовать на канве то, что находится под ней (под формой) Найти похожие ветки
← →
Ландграф Павел © (2005-09-04 21:13) [0]Нужно сделать форму буквой "Г", т.е. одну прямоугольную область сделать прозрачной, думаю кинуть канву, и нарисовать на ней то, что должны мы видеть=) подскажите как реализовать...
← →
Zacho © (2005-09-04 21:32) [1]Лучше почитай про регионы.
← →
Турист (2005-09-04 21:36) [2]>Ландграф Павел © (04.09.05 21:13)
вариант Zacho © (04.09.05 21:32) [1]
procedure TForm1.FormCreate(Sender: TObject);
var
Rgn1, Rgn2, Rgn3: HRGN;
begin
Width := Height div 2;
Rgn1 := CreateRectRgn(0, 0, Width, Height);
try
Rgn2 := CreateRectRgn(60, 60, Width, Height);
try
Rgn3 := CreateRectRgn(0, 0, 0, 0);
CombineRgn(Rgn3, Rgn1, Rgn2, RGN_DIFF);
SetWindowRgn(Handle, Rgn3, False)
finally
DeleteObject(Rgn2)
end
finally
DeleteObject(Rgn1)
end
end;
← →
LiqSir (2005-09-04 21:43) [3]используй TransparentColor в свойствах формы.
Если не получится, вот код, делает снимок экрана:var
Form1: TForm1;
BackgroundCanvas: TCanvas;
BGbitmap: TBitmap;
BGbitmap := TBitmap.Create;
BGbitmap.Width := Screen.Width;
BGbitmap.Height := Screen.Height;
BackgroundCanvas := TCanvas.Create;
BackgroundCanvas.Handle := GetDC(0);
BGbitmap.Canvas.CopyRect(Rect(0,0,Screen.Width,Screen.Height),BackgroundCanvas
,Rect(0,0,Screen.Width,Screen.Height));
← →
Ландграф Павел © (2005-09-05 20:04) [4]Турист>> Спасибо, быстро и работает!
LiqSir>> Компы на которых w98 "такие"... что этот код будет тормозить всю систему=)
Страницы: 1 вся ветка
Текущий архив: 2005.11.06;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.075 c