Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.008 c
1-61204
eruc
2002-09-08 12:52
2002.09.19
~ ~ ~ ~


14-61277
VictorT
2002-08-23 13:42
2002.09.19
Кодировка


14-61316
MBo
2002-08-22 15:20
2002.09.19
Что-то давно штатный психиатр не появлялся.


3-60941
kest2
2002-08-28 09:35
2002.09.19
Ошибка?! (Повторяю вопрос)


14-61290
ZzzzzzzzzzMan
2002-08-22 18:23
2002.09.19
...




   Наверх