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

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

Непрямоугольная форма или как без этого обойтись: [D6, Win95/98]


greenrul ©   (2002-09-07 19:36:00) 

Пишу Launchpad, это такая панелька всплывающая с кнопками, кликая на которые запускается файл/пр. - только вот там есть папки, при нажатии на которые вываливается еще несколько кнопок -

*
*
х - папка
*

*
*
х*** - после нажатия на папке
*
*


Вопрос - как сделать, чтобы пространство, не знаятое кнопками, было прозрачным, и если в этом месте кликнуть, выбиралась не моя форма, а то, что лежит "под" ней.


Romkin   (2002-09-09 15:08:00) [1]

Блин, точно, объединение - это OR, а AND - пересечение


MBo   (2002-09-09 15:04:00) [2]

x1:=CreateRectRgn(1,1,100,100);
x2:=CreateRectRgn(100,100,200,200);
CombineRgn(x1,x1,x2,RGN_OR);//объединение
SetWindowRgn(Handle,x1,true)


greenrul   (2002-09-09 14:59:00) [3]

2Виктор Щербаков: Button1.OnClick
2Romkin:
x1:=CreateRectRgn(1,1,100,100);
x2:=CreateRectRgn(100,100,10,10);
CombineRgn(x1,x1,x2,RGN_AND);
SetWindowRgn(Form1.Handle,x1,true)


не помогает


Romkin   (2002-09-09 14:53:00) [4]

CombineRgn(x1,x1,x2,RGN_AND); - попробуй, так должно пройти


Виктор Щербаков   (2002-09-09 14:51:00) [5]

greenrul © (08.09.02 11:58)
А где ты пишешь этот код?


greenrul   (2002-09-09 14:47:00) [6]

H*E*L*P


greenrul   (2002-09-08 11:58:00) [7]

x1:=CreateRectRgn(1,1,100,100);
x2:=CreateRectRgn(100,100,10,10);
x3:=0;
CombineRgn(x3,x1,x2,RGN_AND);
SetWindowRgn(Form1.Handle,x3,true)

- даже если x3:=CreateRectRgn(1,1,10,10)

то всеравно не объединяет...


kex86   (2002-09-08 05:20:00) [8]

тебе на примере?
Елси да,то потом отвечу,(спать хочу),
Если нет, то делаешь регион и показываешь его (setwindowsrgn, кажется)


Тупой   (2002-09-07 22:18:00) [9]

TSohoRegionForm


Юрий Зотов   (2002-09-07 21:06:00) [10]

Нужно делать "дырявую" форму.

См. тему regions в справке API. В частности, GetWindowRgn, CombineRgn, SetWindowRgn, DeleteObject.

Алгоритм - проход в цикле по кнопкам, создание сложного региона и его назначение окну формы.


Наверх

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