Эллипсовидное окно

Для начала нужно обеспечить возможность пользователю перемещать окно, хватаясь за клиентскую область, а не за заголовочную, т.к. полосы заголовка, собственно, у нас нет.
Сначала в частных объявлениях (после слова private) объявляем процедуру:
private procedure WMNCHitTest(var M: TWMNCHitTest); message wm_NCHitTest; |
Затем в разделе implementation описываем её так:
implementation {$R *.DFM} procedure TForm1.WMNCHitTest(var M: TWMNCHitTest); begin inherited; if M.Result = htClient then M.Result := htCaption; end; |
Далее самое главное. По созданию окна (событие OnCreate) пишем следующий код:
procedure TForm1.FormCreate(Sender: TObject); var hsWindowRegion: Integer; begin hsWindowRegion := CreateEllipticRgn(50, 50, 350, 200); SetWindowRgn(Handle, hsWindowRegion, true); end; |
Далее: Включить Drop Shadow Effect окна в XP »»