Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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;




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.015 c
1-90843           pusrg                 2002-03-14 20:40  2002.03.28  
Сохранение буфера обмена.


6-91032           Beginer               2001-11-12 08:43  2002.03.28  
Подключить сетевой диск...


1-90820           Malder                2002-03-15 19:49  2002.03.28  
Русифиация Delphi ресурсов...


4-91097           kirya85               2002-01-16 09:06  2002.03.28  
Как програмно узнать сколько занимает памяти чужое приложение?


1-90832           Denvor                2002-03-15 21:45  2002.03.28  
Excel2000