Форум: "Основная";
Текущий архив: 2007.12.09;
Скачать: [xml.tar.bz2];
ВнизРамка вокруг региона???? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.19 c