Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.47 MB
Время: 0.034 c
2-1129156132
X-Fi
2005-10-13 02:28
2005.11.06
Как преобразовать число к бОльшему квадрату двойки ?


3-1127518866
TechnoDreamer
2005-09-24 03:41
2005.11.06
Структура базы - подскажите.


6-1122031924
Profik
2005-07-22 15:32
2005.11.06
ClientSocket


4-1125644715
Bobby
2005-09-02 11:05
2005.11.06
TRegIniFile.Read(Write)Integer


10-1106802962
Григорьев Антон
2005-01-27 08:16
2005.11.06
Выделение и освобождение памяти для out-параметров COM-серверов