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

Вниз

Click запределами области приложения   Найти похожие ветки 

 
Юрий Федоров   (2002-10-18 14:02) [0]

Добрый день.
Есть модальный диалог, как в то время, когда он показан, отследить события клика мышью за пределами диалога и за пределами самого приложения?


 
MBo   (2002-10-18 14:05) [1]

Capture Mouse помогает?


 
Юрий Федоров   (2002-10-18 14:06) [2]

>MBo
Не в курсе, что это. Попордобнее можно?


 
Starkom   (2002-10-18 14:08) [3]

лови события типа WM_NCLBUTTONCLICK и вообще все, начинающиеся с WM_NC...


 
Юрий Федоров   (2002-10-18 14:22) [4]

Насколько я понимаю, WM_NC... приходят, когда действие происходит на неклиентской области окна, а в данном случае оно вообще за его пределами.
По крайней мере
WM_NCLBUTTONDOWN не приходит, я проверил


 
MBo   (2002-10-18 14:29) [5]

Увы, я неправ - SetCapture и MouseCapture помогают, только если мышь с нажатой кнопкой вышла за пределы окна.
Значит, хук придется ставить


 
Юрий Федоров   (2002-10-18 14:33) [6]

>MBo
Хук - это трагично :)
может быть я что-то не догоняю, и можно сделать проще?
Задача такая - аналог ComboBox, вниз выпадает форма, которая должна вести себя так же, как выпадающий список ComboBox"a.
Пока поставил ее разрушение на ее собственный Deactivate, но происходит это только по клику в области модального диалога.
Наверняка кому-то приходилось делать подобные вещи.
Есть какие-нибудь идеи еще?


 
Skier   (2002-10-18 14:49) [7]

>Юрий Федоров
Попробуй ловить CM_CANCELMODE


 
Юрий Федоров   (2002-10-18 15:15) [8]

>Skier
не помогает :(


 
Игорь Шевченко   (2002-10-18 15:38) [9]

Юрий Федоров © (18.10.02 14:33)

Поглядите в Source\Vcl\DBGrids.pas TPopupListBox. Там реализована эта функциональность.

Также может помочь обработка CM_CANCELMODE и WM_KILLFOCUS


 
Игорь Шевченко   (2002-10-18 15:48) [10]

Кстати, hint: форма не должна быть модальной.


 
pusrg   (2002-10-18 19:38) [11]

Дык, а если при потере фокуса приложением, также обрабатывать TApplication.OnDeactivate.

А при показе диалогового окна показывать его не через ShowModal, а через Show с стилем формы FormStyle:=fsStayOnTop.
В любом случае клики мышкой внутри приложения можно отловить по разному и на них убивать требуемую форму.


 
Юрий Зотов   (2002-10-18 23:05) [12]

> аналог ComboBox,

Если я правильно понимаю, стиль WS_POPUP решает вопрос.


 
Kibitzer   (2002-10-19 00:15) [13]


> Задача такая - аналог ComboBox, вниз выпадает форма, которая
> должна вести себя так же, как выпадающий список ComboBox"a.

Вот здесь есть пример: http://akzhan.midi.ru/devcorner/akdeltnt-content/akdeltnt-0075.html



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

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

Наверх




Память: 0.47 MB
Время: 0.009 c
3-101166
SOO_R
2002-10-11 13:12
2002.10.31
Стоит ли разделять на две таблицы?


3-101126
gek
2002-10-10 11:25
2002.10.31
Ничего не понимаю, мистика какая-то....


3-101111
officeman
2002-10-09 22:26
2002.10.31
Как КОРРЕКТНО разместить картинку в DBGRID-е ???


6-101406
IGORka
2002-08-29 11:36
2002.10.31
имя пользователя


7-101552
zam2
2002-08-28 23:47
2002.10.31
Как сделать невозможным дамп нажатых клавиш другим приложением?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский