Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
2-1194872329
DimOk
2007-11-12 15:58
2007.12.09
Как подключить файл помощи


2-1195214661
allucard
2007-11-16 15:04
2007.12.09
Delphi + firebird


2-1195027082
dumka
2007-11-14 10:58
2007.12.09
запрос с параметром


2-1194936903
ice321i
2007-11-13 09:55
2007.12.09
Вопрос с запросом


3-1180525450
jack128
2007-05-30 15:44
2007.12.09
Работа с FB из нескольких потоков





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский