![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить было TPopupMenu меню вызвано ShortCut или открыто. [D7, XP]
Семен Кевларвестов © (2008-04-17 16:57:00)Доброго дня!
В событии OnPopUp отрабаытвается некоторый функционал. Отрабатываться он должен только если меню было на самомо деле открыто. А событие срабатывает и при вызове команды меню по шорткату. что не есть хорошо.
Как можно понять каким образом было вызвано меню?
Leonid Troyanovsky (2008-04-22 18:42:00) [1]
> Семен Кевларвестов (22.04.08 18:09) [17]
> [16] Раз уж повелели поп-ап меню - значит будет по-ап меню.
Мы ж не против меню.
Но, два попап - уже излишек: юзер может расплыться.
Всегда лучше опернуться на нечто твердое.
--
Regards, LVT.
Семен Кевларвестов (2008-04-22 18:09:00) [2][16] Раз уж повелели поп-ап меню - значит будет по-ап меню.
А вот насчет хинта для пункта меню спсибо - я подумаю.
Leonid Troyanovsky (2008-04-22 18:05:00) [3]
> Семен Кевларвестов (22.04.08 17:25) [15]
> недоступен. Всплывающее окошко призвано объяснить пытливому
> юзеру почему именно.
Hint для пункта меню уже отменили?
И зачем всплывающее окно, если есть статус-бар.
--
Regards, LVT.
Семен Кевларвестов (2008-04-22 17:25:00) [4]нет, там один пункт меню в зависимости от данных может быть недоступен. Всплывающее окошко призвано объяснить пытливому юзеру почему именно.
Leonid Troyanovsky (2008-04-22 16:27:00) [5]
> Семен Кевларвестов (22.04.08 16:14) [10]
> [7] Так повелели свыше
Любопытно.
Жми "Да", если хочешь увидеть меню :)
Если у вас свыше такое, что же тогда внизу?
Или это попытка приучить к горячим клавишам?
--
Regards, LVT.
Семен Кевларвестов (2008-04-22 16:24:00) [6]да, действительно, это выход. Спасибо!
Сергей М. (2008-04-22 16:15:00) [7]
> что за акция?
TAction
Сергей М. (2008-04-22 16:15:00) [8]Все проще - шоткат назначается акции, а в обработчике клика меню факт клика отражается передачей sender'ом ссылки на кликнутый эл-т меню в непосредственном вызове обработчика экзекуции акции.
Семен Кевларвестов (2008-04-22 16:14:00) [9][7] Так повелели свыше
[8] Не понял, что за акция?
[9] не могу - не я их вставлял - не мне их убирать.
Alarm (2008-04-22 16:04:00) [10]> Семен Кевларвестов (17.04.08 16:57)
> Отрабатываться он должен только если меню было на самомо
> деле открыто.
Убери "шорткаты". Из поста следует, что только это тебе мешает.
Сергей М. (2008-04-22 16:00:00) [11]
> Семен Кевларвестов (22.04.08 15:42) [6]
Акцию используешь для своего меню ?
Leonid Troyanovsky (2008-04-22 15:59:00) [12]
> Семен Кевларвестов (22.04.08 15:42) [6]
> показать сообщение, а если нет, то зачем?
Зачем показывать сообщение, если показывается меню.
--
Regards, LVT.
Семен Кевларвестов (2008-04-22 15:42:00) [13]разница в том, что если оно было вызвано как PoUpMenu нужно показать сообщение, а если нет, то зачем?
Рамиль (2008-04-22 15:17:00) [14]Какая разница, как было вызвано, если выполняет одно и то же?
Семен Кевларвестов (2008-04-22 14:52:00) [15]дык ради бога, пусть себе выполняет, кто ж ему не дает? но токо пусть мне даст знать как оно было вызвано.
Рамиль (2008-04-22 14:36:00) [16]см. [1]
Ожидаемая пользователем реакция (и единственно правильная) - шорткат и меню выполняют одно и тоже действие.
Семен Кевларвестов (2008-04-22 14:30:00) [17]Каким образом? Что не так в данный момент? Да и не могу я все переписывать - проект не мой.
Проверял на "чистой" программе (на формочке только меню, и мемо), оно действительно при шорткате вызывает OnPopUp. Зачем - его дело, но наверняка же должна быть возможность узнать как оно было вызвано.
Игорь Шевченко (2008-04-17 17:02:00) [18]надо переделать программу