Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Окна не Квадратной формы? [D6, Win95/98, Win2k]


SGh ©   (2003-02-17 21:18:00) 

Товарищи, помогите, по зарез надо сделать окно с "дырками" ну как у Winampa Когда со скином, то если в скине дырка и по ней клацнуть мышей, клацается по окну за Winampom, или просто не квадратное а круглое, как это делается?
Заранее благодарен...


Антон.   (2003-02-19 17:59:00) [1]

Удалено модератором
Примечание: Задай вопрос в своей ветке


Reindeer Moss Eater   (2003-02-19 12:20:00) [2]

Очень простой код, создающий неквадратное окно:
with TForm.Create(nil) do
try
ShowModal;
finally
Free;
end;


SGh   (2003-02-19 10:49:00) [3]

Спасибо всем теперь буду делать окна 128-угольными :)))

2 Игорь Шевченко

А у Андрея Григорьева, я нашел только про прозрачные окна, ты её имел ввиду? Я это тоже давно мечтал сделать, спасибо... :)


DarkGreen   (2003-02-18 13:40:00) [4]

2 SGh © (18.02.03 11:46)

Diamond Cat © (18.02.03 00:29) тебе уже подсказал



procedure TForm1.FormCreate(Sender: TObject);
var
RReg, Reg : HRGN;
begin
RReg := CreateEllipticRgn(4,30,54,78);
Reg := CreateEllipticRgn(19,44,39,64);

CombineRgn(RReg,RReg,Reg,RGN_DIFF);

SetWindowRgn(Handle, RReg, False);
end;


Игорь Шевченко   (2003-02-18 12:30:00) [5]

SGh © (18.02.03 11:46)

Статья Антона Григорьева на www.delphikingdom.com


SGh   (2003-02-18 11:46:00) [6]

Спасибо всем кто отКЛИКнулся :)

2Diamond Cat
А не подскажешь как чтобы вообще произвольной формы, например сердца, или наложением ридженов друг на друга?


Diamond Cat   (2003-02-18 00:29:00) [7]

procedure TForm1.FormCreate(Sender: TObject);
var
RReg, Reg : HRGN;
begin
RReg := CreateEllipticRgn(4,30,54,78);
Reg := CreateEllipticRgn(19,44,39,64);
CombineRgn(RReg,RReg,Reg,RGN_DIFF);
SetWindowRgn(Handle, RReg, False);
end;
круглое окно с дырой посередине


freeek10   (2003-02-17 23:25:00) [8]

Пример был на королевстве дельфи www.delphikingdom.com


Pat   (2003-02-17 22:14:00) [9]

SetWindowRgn()


Наверх

Титульная страница Поиск, карта сайта Написать письмо