Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.19;
Скачать: CL | DM;

Вниз

Непрямоугольная форма или как без этого обойтись:   Найти похожие ветки 

 
greenrul ©   (2002-09-07 19:36) [0]

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

*
*
х - папка
*

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


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


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

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

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

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


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

TSohoRegionForm


 
kex86 ©   (2002-09-08 05:20) [3]

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


 
greenrul ©   (2002-09-08 11:58) [4]

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)

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


 
greenrul ©   (2002-09-09 14:47) [5]

H*E*L*P


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

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


 
Romkin ©   (2002-09-09 14:53) [7]

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


 
greenrul ©   (2002-09-09 14:59) [8]

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)


не помогает


 
MBo ©   (2002-09-09 15:04) [9]

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


 
Romkin ©   (2002-09-09 15:08) [10]

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



Страницы: 1 вся ветка

Текущий архив: 2002.09.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
7-61331
VictorT
2002-07-10 19:16
2002.09.19
Програмное получение имени пользаователя Виндовс.


1-61095
tararasyk
2002-09-09 23:15
2002.09.19
Перезапуск программы


1-61079
Демонов Е.В.
2002-09-09 16:59
2002.09.19
Что такое Сабж


8-61214
maxon
2002-05-18 14:59
2002.09.19
перекрытие компонентами друг друга


7-61333
nikd
2002-07-08 04:36
2002.09.19
Как спрятать чужое окно?