Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.09;
Скачать: CL | DM;

Вниз

Рамка вокруг региона????   Найти похожие ветки 

 
tytus ©   (2007-09-20 12:51) [0]

Доброго дня Всем!
Что-то не получается сия рамка. Вот что делаю:
 private
   { Private declarations }
   Region:HRGN;
   RgnArray:array[0..3]of TPoint;
   procedure WMNCHitTest(var Message:TWMNCHitTest);message WM_NCHITTEST;

procedure TMainFm.WMNCHitTest(var Message:TWMNCHitTest);
begin
Message.Result:=HTCAPTION;
end;

procedure TMainFm.FormCreate(Sender: TObject);
var
 r:TRect;
begin
Windows.GetClientRect(Handle,r);
RgnArray[0]:=Point(0,0);
RgnArray[1]:=Point(200,0);
RgnArray[2]:=Point(200,200);
RgnArray[3]:=Point(0,200);
Region:=CreatePolygonRgn(RgnArray,4,ALTERNATE);
SetWindowRgn(Handle,Region,true);
end;

procedure TMainFm.FormPaint(Sender: TObject);
begin
Canvas.Brush.Color:=clRed;
FrameRgn(Canvas.Handle,Region,Canvas.Brush.Handle,2,2);
end;

И как нарисовать рамку - ну никак не получается!!!!
??


 
DiamondShark ©   (2007-09-20 13:15) [1]


> И как нарисовать рамку - ну никак не получается!!!!

А если нарисовать рамку на один пиксел с каждой стороны меньше, чем регион?


 
tytus ©   (2007-09-20 13:22) [2]

>DiamondShark ©   (20.09.07 13:15) [1]
да вааще не рисует НИКАК!!!
ктому-же можно задать шир. и выс. побольше в FrameRgn...


 
DiamondShark ©   (2007-09-20 13:25) [3]

А, блин. Торможу.

RTFM, конечно.

After a successful call to SetWindowRgn, the system owns the region specified by the region handle hRgn. The system does not make a copy of the region. Thus, you should not make any further function calls with this region handle. In particular, do not delete this region handle. The system deletes the region handle when it no longer needed.


 
Lacmus ©   (2007-09-20 13:31) [4]



procedure TForm66.FormPaint(Sender: TObject);
var
 Region: HRgn;
begin
 Region := CreateRectRgn(0, 0, 0, 0);
 if GetWindowRgn(Handle, Region) <> ERROR then try
   Canvas.Brush.Color:=clRed;
   FrameRgn(Canvas.Handle,Region,Canvas.Brush.Handle,2,2);
 finally
   DeleteObject(Region)
 end
end;



 
tytus ©   (2007-09-20 13:44) [5]

>DiamondShark ©   (20.09.07 13:25) [3]
о сем и я ужо прочитал... сенкс.

>Lacmus ©   (20.09.07 13:31) [4]
свершилось!


 
{RASkov} ©   (2007-09-20 17:43) [6]

> procedure TForm66.FormPaint(Sender: TObject);
> var
> Region: HRgn;
> begin
> Region := CreateRectRgn(0, 0, 0, 0);
> if GetWindowRgn(Handle, Region) <> ERROR then try
>   Canvas.Brush.Color:=clRed;
>   FrameRgn(Canvas.Handle,Region,Canvas.Brush.Handle,2,2);
> finally
>   DeleteObject(Region)
> end
> end;

procedure TForm66.FormPaint(Sender: TObject);
var
Region: HRgn;
begin
Region := CreateRectRgn(0, 0, 0, 0);
try
 if GetWindowRgn(Handle, Region) <> ERROR then begin
  Canvas.Brush.Color:=clRed;
  FrameRgn(Canvas.Handle,Region,Canvas.Brush.Handle,5,5);
 end;
finally
  DeleteObject(Region);
end
end;



Страницы: 1 вся ветка

Текущий архив: 2007.12.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.031 c
1-1190278304
tytus
2007-09-20 12:51
2007.12.09
Рамка вокруг региона????


11-1180896008
=BuckLr=
2007-06-03 22:40
2007.12.09
Защита участка RichEdit от изменения


1-1190197939
ari_9
2007-09-19 14:32
2007.12.09
как получить событие смены пользователем языка ввода ?


6-1175711153
Kalyakin
2007-04-04 22:25
2007.12.09
Перехватить Modified у TWebBrowser


15-1194314117
Акакий
2007-11-06 04:55
2007.12.09
Как Вы обычно называете переменные типа :