|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.03.2010, 21:14 | #1 |
Форумчанин
Регистрация: 03.10.2008
Сообщений: 180
|
Попап меню блокируют передачу фокуса на др. компоненты...
Стандартные попап меню, когда вызываются, блокируют возможность передать фокус другому компоненту при наведении мыши. Можно ли от этого избавится? Задача в том, чтобы создать несколько кнопок и столько же попап. При на ведении мыши на каждую кнопку открывается свое попап меню. При открытом попап и наведении мыши на др. кнопку, должно открываться другое попап меню и т.д. Как такое сделать?
лучший подарок женщине-программисту
|
21.03.2010, 21:20 | #2 |
Форумчанин
Регистрация: 01.12.2009
Сообщений: 569
|
в чём проблема? сообщения MouseMove в бутонах нормально работают, ток попапы к ним прикреплять не надо, а вызывать динамически.
|
22.03.2010, 09:29 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
У-у-у...
А бы PopUp'у такое не доверил... Лучше сделать форму с ЛистБоксом, раскрасить его под меню, и вызывать немодально эту форму при наведении мышки на кнопки.
I'm learning to live...
|
22.03.2010, 12:55 | #4 |
Форумчанин
Регистрация: 03.10.2008
Сообщений: 180
|
Не понимаю, как у вас работает. Вот на форме 3 кнопки и 3 ПопАп Меню. В обработчике события OnMouseMove каждой кнопки пишем PopupMenu1.Popup(X,Y), PopupMenu2.Popup(X,Y) и т.д. И что получается при компеляции: при наведение на кнопку вызывается попап, а при наведение на др. кнопки при открытом попап сообщение OnMouseMove кнопке не передается.
Вот и вопрос, как это обойти?
лучший подарок женщине-программисту
|
22.03.2010, 15:57 | #5 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Обойти можно читая Windows сообщения. Часто это помогает, а может и не помочь если отсутствие события вызвано отсутствием сообщения. Дело в том что попап это окно, может он на себя фокус забирает.
Тогда читать координаты курсора абсолютные и проверять или попадают на кнопку. С листбоксом тоже можно сделать, я так делал адресную строку выпадающую.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
22.03.2010, 19:34 | #6 |
Форумчанин
Регистрация: 03.10.2008
Сообщений: 180
|
Да, я об этом уже задумался. План таков: ловить сообщения API поступающие при движении мыши и написать соответствующий обработчик... В принципе координаты и границы кнопки известны и можно написать в обработчике условия, при каких координатах и какую попап показывать. Думаю это должно сработать
лучший подарок женщине-программисту
|
22.03.2010, 22:55 | #7 |
Форумчанин
Регистрация: 01.12.2009
Сообщений: 569
|
Если уж не ловится сообщение, то ловите сообщение глобального перемещения курсора...
|
22.03.2010, 23:31 | #8 |
Форумчанин
Регистрация: 03.10.2008
Сообщений: 180
|
API тоже не берет.... Отлавливаю сообщение WM_MOUSEMOVE. Все тоже что и со стандартным обработчиком. Одно попап открывается и остальные уже не могут... WM_MOUSEMOVE уже не работает.
Как еще можно обмануть этот попап?
лучший подарок женщине-программисту
|
23.03.2010, 19:35 | #9 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Цитата:
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перехват POST передачу данных | Verst | Общие вопросы Delphi | 4 | 24.11.2009 15:34 |
Поясните передачу значений по указателям | fs444 | Общие вопросы C/C++ | 6 | 30.10.2009 10:52 |
TreeView как сделать, чтобы попап-меню выпадало для определенных ветвей? | KWN, lnc | Помощь студентам | 11 | 08.03.2009 01:01 |
TreeView как сделать, чтобы попап-меню выпадало для определенных ветвей? | KWN, lnc | Помощь студентам | 4 | 03.03.2009 17:04 |
TTcpServer и TUdpSocket блокируют порт | hawk1 | Работа с сетью в Delphi | 5 | 07.12.2006 23:29 |