Создаем круглую форму на Delphi

Сегодня я хочу показать вам как вы с легкостью можете создать, форму нестандартного вида, например круглую.
Открываем Delphi и создаем новый проект, после ключевого слова private дописываем


procedure CreateParams(var Params: TCreateParams); override;   

Жмем комбинацию клавиш Ctrl+Shift+C

Delphi генерирует пустую процедуру.
Посмотрите что получилось у меня и пропишите то что не хватает у вас.


procedure TForm1.CreateParams(var Params: TCreateParams);  
begin  
inherited CreateParams(Params);  
Params.Style := Params.Style or ws_popup xor ws_dlgframe;  
end; 

Двигаемся дальше и создаем обработчик событий OnCreate на форме, прописываем там следующий код.

Полный листинг процедуры OnCreate:


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; 

Вот и все запускайте проект и наслаждайтесь результатом.
Теги:
формы
Добавлено: 01 Августа 2018 07:00:16 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...