Создание круглой формы
Не забудьте создать TButton, чтобы затем закрыть окно.
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, Buttons, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private procedure CreateParams(var Params: TCreateParams); override; public end; var Form1: TForm1; implementation {$R *.DFM} { TForm1 } procedure TForm1.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); {Удаляем заголовок и границу} Params.Style := Params.Style or WS_POPUP xor WS_DLGFRAME; end; procedure TForm1.FormCreate(Sender: TObject); var FormRgn: hRgn; begin {Очищаем форму} Form1.Brush.Style := bsSolid; //bsclear; {Делаем форму круглой} GetWindowRgn(Form1.Handle, FormRgn); { Удаляем старый объект } DeleteObject(FormRgn); { Делаем форму прямоугольной } Form1.Height := 500; Form1.Width := Form1.Height; { Создаем круглую форму } FormRgn := CreateRoundRectRgn(1, 1, Form1.Width - 1, Form1.height - 1, Form1.width, Form1.height); { Установить новое круглое окно } SetWindowRgn(Form1.Handle, FormRgn, TRUE); end; procedure TForm1.Button1Click(Sender: TObject); begin Form1.close; end; end.
Комментарии