Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить было 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]

надо переделать программу


Наверх

Титульная страница Поиск, карта сайта Написать письмо