Как закрыть окно по клику вне его

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
ru_alex
Ветеран
Сообщения: 333
Зарегистрирован: 21 Сентябрь 2005, 11:05
Откуда: Нижний Новгород
Контактная информация:

Как закрыть окно по клику вне его

Сообщение ru_alex »

Всем привет!
Помогите реализовать. Есть задача сделать что-то вроде Popup меню, на котором будут разные элементы. То есть открываем окно под кнопкой, что-то в нем делаем, нажимае ОК. Это сейчас работает, но хочется поведение приблизить к классическому popup меню, чтобы окно закрывалось, если щелкнули помимо него.
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Re: Как закрыть окно по клику вне его

Сообщение Губин Игорь »

Определись. Если тебе нужно именно PopUp, то и используй PopUp() 8)
Это я только кажусь дураком! На самом деле я полный идиот!
ru_alex
Ветеран
Сообщения: 333
Зарегистрирован: 21 Сентябрь 2005, 11:05
Откуда: Нижний Новгород
Контактная информация:

Re: Как закрыть окно по клику вне его

Сообщение ru_alex »

Мне нужен не Popup(), мне надо окно, в котором я выбеу дату, включу пару галочек и тд, но вот хочу опробовать вариант, когда это окно будет закрываться по клику вне его.
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Re: Как закрыть окно по клику вне его

Сообщение Губин Игорь »

The window is gaining input focus from another thread. This is the event on which you restore any data you saved in EVENT:LoseFocus. The system is modal during this event.



EVENT:GainFocus is not generated until EVENT:LoseFocus is processed (if focus was

on another window of the same program).
Это я только кажусь дураком! На самом деле я полный идиот!
ru_alex
Ветеран
Сообщения: 333
Зарегистрирован: 21 Сентябрь 2005, 11:05
Откуда: Нижний Новгород
Контактная информация:

Re: Как закрыть окно по клику вне его

Сообщение ru_alex »

Event:LoseFocus не катит, вернее не всегда оно происходит, пробовал виндовые события ловить, но тоже не получается, по крайней мере события с мышью генерируются только в клиентской области окна, соответсвенно при щелчке помимо не генерируются.
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Re: Как закрыть окно по клику вне его

Сообщение Дед Пахом »

Посмотри в сторону SetWindowsHookEx(WH_MOUSE)
С уважением, ДП
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Re: Как закрыть окно по клику вне его

Сообщение kreator »

Стандартный Splash так реализован. Посмотри куда чего пишется. В принципе там всё просто. Не поймёшь, напиши, попробуем разобраться.
We are hard at work… for you. :)
Igor Vesnin
Посетитель
Сообщения: 49
Зарегистрирован: 30 Декабрь 2005, 0:06

Re: Как закрыть окно по клику вне его

Сообщение Igor Vesnin »

Ловим событие WM_NCACTIVATE и посылаем WM_CLOSE
Ответить