Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
14-1129379058
race1
2005-10-15 16:24
2005.11.06
Железо


9-1114518621
cyborg
2005-04-26 16:30
2005.11.06
Генератор текстуры шрифта


2-1129298374
PAI
2005-10-14 17:59
2005.11.06
TaskBar


11-1110074904
серый мЫш
2005-03-06 05:08
2005.11.06
TKOLMainMenu


2-1129103955
Zhekson
2005-10-12 11:59
2005.11.06
Контурная карта




   Наверх