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

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

как контролировать 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


Наверх

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