![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
Из региона формы вычитается регион надписиDelphi , Программа и Интерфейс , ФормыИз региона формы вычитается регион надписи
Оформил: DeeCo { When youu need a form like a tree or something else what do you do? Windows provides the CreateRoundRectRegion() function that just cuts the edges of your form. If you want to do something else, you need to completely draw your region in a HDC (TCanvas) while Windows looks on your hand to learn it. After this, you can set the new region to your form using the 'SetWindowRgn()' function. And how to do this? Here you will find a simple example that just gives some text and sets the region like it. Expand it by your mind! } var Form1: TForm1; HRgn: THandle; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); var s: string; begin DeleteObject(HRgn); s := InputBox('Region Text', 'Please enter some text to set to the region', 'CoolRgn'); BeginPath(Canvas.Handle); with Canvas do begin Font.Name := 'Comic Sans MS'; Font.Size := 64; Font.Style := [fsBold]; TextOut(0, 0, s); end; EndPath(Canvas.Handle); HRgn := PathToRegion(Canvas.Handle); SetWindowRgn(Handle, HRgn, True); button1.Visible := False; Color := clRed; end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin DeleteObject(HRgn); end; procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Button = mbLeft then begin ReleaseCapture; SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0); end; end; Статья Из региона формы вычитается регион надписи раздела Программа и Интерфейс Формы может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 ![]() |