![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как контролировать ShortCut клавиши?
Abcdef123 © (2012-11-16 05:14:00)Здравствуйте, Мастера!!!
Возможно вопрос совершенно примитивный, но я, к сожалению, не нашла ответа.
Итак, есть в проекте компонент TMainMenu и на некоторые пункты меню назначены ShortCut клавиши. Всё работает ВСЕГДА. Но, вот в некоторых пунктах меню мне надо поставить контроль на то, когда горячая клавиша должна срабатывать, а когда нет. В моем случае, конкретно, эти пункты меню бывают видимы, бывают невидимы, в зависимости от режима работы. Так вот, можно ли как то сделать, чтоб ShortCut НЕ срабатывал, когда соответсвенный пункт меню невидим?
Заранее благодарна!
Dimka Maslov (2012-11-19 14:53:00) [1]В некоторых версиях дельфи был глюк из-за которого горячие клавиши не работали после смены раскладки клавиатуры или нажатия капс-лока.
Abcdef123 (2012-11-19 10:23:00) [2]To [9] >т.е. в [1] было не то , что надо?Прошу прощения, вы правы!
Плохиш (2012-11-16 12:54:00) [3]
> Abcdef123 (16.11.12 12:43) [7]
> To [6] Это как раз то, что мне надо!
т.е. в [1] было не то , что надо?
> Удивительно, что условия работы ShortCut не прописаны а
> хелпе.
Странно, у меня в хелпе написано, что свойство Enabled отвечает за активизацию и деактивизацию элемента управления для действий пользователя.
Abcdef123 (2012-11-16 12:48:00) [4]To [6] Это как раз то, что мне надо! Огромное спасибо!!! У меня просто было невидимое, как только добавила недоступность - заработало. Удивительно, что условия работы ShortCut не прописаны а хелпе.
Всем, кто откликнулся, спасибо за обсуждение!
Abcdef123 (2012-11-16 12:43:00) [5]To [6] Это как раз то, что мне надо! Огромное спасибо!!! У меня просто было невидимое, как только добавила недоступность - заработало. Удивительно, что условия работы ShortCut не прописаны а хелпе.
Всем, кто откликнулся, спасибо за обсуждение!
cobalt (2012-11-16 09:48:00) [6]Надо делать не только невидимым, но и недоступным, т.е. Enabled := False;
sniknik (2012-11-16 09:43:00) [7]> в надежде
без надежд... проверил, вот это верно
> ShortCut не срабатывает, когда menuitem.enabled=false
(не не для просо невидимых, это я ошибся)
вот именно для этих
> TmenuItem.ShortCut - вот эти похоже работают всегда :-(
т.что раз они у тебя всегда срабатывают, значит еще где-то вызов есть.
Abcdef123 (2012-11-16 08:57:00) [8]to [3] через Object Inspector свойство "намертво" определили и всё. Возможно, в надежде, что будут работать как горячие клавиши (в зависимости видимости пункта меню. :-) Ведь для чего то сделали свойство TmenuItem.ShortCut as published а не просто public.
sniknik (2012-11-16 08:09:00) [9]> Наверняка, подобные ситуации у многих встречались.
вряд ли. сколько раз использовал, не активность меню/акции (смотря где назначено) одновременно означает отключение "быстрых кнопок". то же при невидимости.
это надо как то по особому использовать, чтобы не было связи... очень интересно как?
Abcdef123 (2012-11-16 08:02:00) [10]To [1] > обычно ShortCut не срабатывает, когда menuitem.enabled=false
Не срабатывают "горячие клавиши" меню (они задаются через TmenuItem.Caption с помощью &). А я говорю про ShortCut, которые задаются через свойство TmenuItem.ShortCut - вот эти похоже работают всегда :-(
Я сделала сейчас как временный вариант в процедуре назначаю значение ShortCut, когда видимо, и обнуляю значение ShortCut, когда не видимо, для конекретного пункта меню, с которым проблема. Но, хотелось бы найти универсальный (независимый) вариант, чтоб так срабатывало для всех пунктов меню, как "самостоятельная" проверка на видимость. В общем, чтоб работало как "горячие клавиши". Наверняка, подобные ситуации у многих встречались. Хотелось бы узнать, кто как решил эту проблему?
MonoLife (2012-11-16 07:12:00) [11]обычно ShortCut не срабатывает, когда menuitem.enabled=false