Форум: "Основная";
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];
ВнизКАК В ДЕЛЬФИ СДЕЛАТЬ ГЛАВНУЮ ФОРМУ КРУГЛОЙ Найти похожие ветки
← →
zep (2002-03-14 23:42) [0]ПЛИЗЗ ПОДСКАЖИТЕ ХТО НИБУДЬ КАК В ПРОГРАММЕ СДЕЛАТЬ ГЛАВНУЮ ФОРМУ КРУГЛОЙ
← →
Malder (2002-03-15 01:41) [1]Хм. Ну если ты разберешься в коде и тебе это поможет, то пожалуйста :
Надо обьявить переменную (глобальную)rgn : HRGN;
Процедура перерисовки.
procedure Tform1.perefig(a:integer;b:integer);
begin
rgn := CreateEllipticRgn(a, b, Width, Height);
SetWindowRgn(Handle, rgn, True);
end;
В конце не забудь уничтожить:
procedure TForm1.FormDestroy(Sender: TObject);
begin
DeleteObject(rgn);
end;
Правда будет рисоваться эллипс. Но программу легко переделать, да и вообще круг - частный случай эллипса =)
Да, вот еще. При таком подходе у формы не будет загаловка, соответственно ее нельзя будет закрыть (только по Alt+F4) и перетащить. Что перетаскивать можно было ухватившись за любой участок формы, пишем:
procedure TForm1.WMNCHitTest(var Message : TWMNCHitTest);
begin
if PtInRegion(rgn, Message.XPos, Message.YPos) then
Message.Result := HTCAPTION
else
Message.Result := HTNOWHERE;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.01 c