![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 03.10.2008
Сообщений: 180
|
![]()
Стандартные попап меню, когда вызываются, блокируют возможность передать фокус другому компоненту при наведении мыши. Можно ли от этого избавится? Задача в том, чтобы создать несколько кнопок и столько же попап. При на ведении мыши на каждую кнопку открывается свое попап меню. При открытом попап и наведении мыши на др. кнопку, должно открываться другое попап меню и т.д. Как такое сделать?
лучший подарок женщине-программисту
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 01.12.2009
Сообщений: 569
|
![]()
в чём проблема? сообщения MouseMove в бутонах нормально работают, ток попапы к ним прикреплять не надо, а вызывать динамически.
|
![]() |
![]() |
![]() |
#3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
У-у-у...
А бы PopUp'у такое не доверил... Лучше сделать форму с ЛистБоксом, раскрасить его под меню, и вызывать немодально эту форму при наведении мышки на кнопки.
I'm learning to live...
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 03.10.2008
Сообщений: 180
|
![]()
Не понимаю, как у вас работает. Вот на форме 3 кнопки и 3 ПопАп Меню. В обработчике события OnMouseMove каждой кнопки пишем PopupMenu1.Popup(X,Y), PopupMenu2.Popup(X,Y) и т.д. И что получается при компеляции: при наведение на кнопку вызывается попап, а при наведение на др. кнопки при открытом попап сообщение OnMouseMove кнопке не передается.
Вот и вопрос, как это обойти?
лучший подарок женщине-программисту
|
![]() |
![]() |
![]() |
#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)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 03.10.2008
Сообщений: 180
|
![]()
Да, я об этом уже задумался. План таков: ловить сообщения API поступающие при движении мыши и написать соответствующий обработчик... В принципе координаты и границы кнопки известны и можно написать в обработчике условия, при каких координатах и какую попап показывать. Думаю это должно сработать
лучший подарок женщине-программисту
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 01.12.2009
Сообщений: 569
|
![]()
Если уж не ловится сообщение, то ловите сообщение глобального перемещения курсора...
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 03.10.2008
Сообщений: 180
|
![]()
API тоже не берет.... Отлавливаю сообщение WM_MOUSEMOVE. Все тоже что и со стандартным обработчиком. Одно попап открывается и остальные уже не могут... WM_MOUSEMOVE уже не работает.
Как еще можно обмануть этот попап?
лучший подарок женщине-программисту
|
![]() |
![]() |
![]() |
#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 |