Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.07.14;
Скачать: CL | DM;

Вниз

как контролировать ShortCut клавиши?   Найти похожие ветки 

 
Abcdef123   (2012-11-16 05:14) [0]

Здравствуйте, Мастера!!!
Возможно вопрос совершенно примитивный, но я, к сожалению, не нашла ответа.
Итак, есть в проекте компонент TMainMenu и на некоторые пункты меню назначены ShortCut клавиши. Всё работает ВСЕГДА. Но, вот в некоторых пунктах меню мне надо поставить контроль на то, когда горячая клавиша должна срабатывать, а когда нет. В моем случае, конкретно, эти пункты меню бывают видимы, бывают невидимы, в зависимости от режима работы. Так вот, можно ли как то сделать, чтоб ShortCut НЕ срабатывал, когда соответсвенный пункт меню невидим?
Заранее благодарна!


 
MonoLife ©   (2012-11-16 07:12) [1]

обычно ShortCut не срабатывает, когда menuitem.enabled=false


 
Abcdef123   (2012-11-16 08:02) [2]

To [1] > обычно ShortCut не срабатывает, когда menuitem.enabled=false
Не срабатывают "горячие клавиши" меню (они задаются через TmenuItem.Caption с помощью &). А я говорю про ShortCut, которые задаются через свойство TmenuItem.ShortCut - вот эти похоже работают всегда :-(
Я сделала сейчас как временный вариант в процедуре назначаю значение ShortCut, когда видимо, и обнуляю значение ShortCut, когда не видимо, для конекретного пункта меню, с которым проблема. Но, хотелось бы найти универсальный (независимый) вариант, чтоб так срабатывало для всех пунктов меню, как "самостоятельная" проверка на видимость. В общем, чтоб работало как "горячие клавиши". Наверняка, подобные ситуации у многих встречались. Хотелось бы узнать, кто как решил эту проблему?


 
sniknik ©   (2012-11-16 08:09) [3]

> Наверняка, подобные ситуации у многих встречались.
вряд ли. сколько раз использовал, не активность меню/акции (смотря где назначено) одновременно означает отключение "быстрых кнопок". то же при невидимости.

это надо как то по особому использовать, чтобы не было связи... очень интересно как?


 
Abcdef123   (2012-11-16 08:57) [4]

to [3] через Object Inspector свойство "намертво" определили и всё. Возможно, в надежде, что будут работать как горячие клавиши (в зависимости видимости пункта меню. :-) Ведь для чего то сделали свойство TmenuItem.ShortCut as published а не просто public.


 
sniknik ©   (2012-11-16 09:43) [5]

> в надежде
без надежд... проверил, вот это верно
> ShortCut не срабатывает, когда menuitem.enabled=false
(не не для просо невидимых, это я ошибся)
вот именно для этих
> TmenuItem.ShortCut - вот эти похоже работают всегда :-(
т.что раз они у тебя всегда срабатывают, значит еще где-то вызов есть.


 
cobalt ©   (2012-11-16 09:48) [6]

Надо делать не только невидимым, но и недоступным, т.е. Enabled := False;


 
Abcdef123   (2012-11-16 12:43) [7]

To [6] Это как раз то, что мне надо! Огромное спасибо!!! У меня просто было невидимое, как только добавила недоступность - заработало. Удивительно, что условия работы  ShortCut не прописаны а хелпе.
Всем, кто откликнулся, спасибо за обсуждение!


 
Abcdef123   (2012-11-16 12:48) [8]

To [6] Это как раз то, что мне надо! Огромное спасибо!!! У меня просто было невидимое, как только добавила недоступность - заработало. Удивительно, что условия работы  ShortCut не прописаны а хелпе.
Всем, кто откликнулся, спасибо за обсуждение!


 
Плохиш ©   (2012-11-16 12:54) [9]


> Abcdef123   (16.11.12 12:43) [7]
> To [6] Это как раз то, что мне надо!

т.е. в [1] было не то , что надо?

> Удивительно, что условия работы  ShortCut не прописаны а
> хелпе.

Странно, у меня в хелпе написано, что свойство Enabled отвечает за активизацию и деактивизацию элемента управления для действий пользователя.


 
Abcdef123   (2012-11-19 10:23) [10]

To [9] >т.е. в [1] было не то , что надо?Прошу прощения, вы правы!


 
Dimka Maslov ©   (2012-11-19 14:53) [11]

В некоторых версиях дельфи был глюк из-за которого горячие клавиши не работали после смены раскладки клавиатуры или нажатия капс-лока.



Страницы: 1 вся ветка

Текущий архив: 2013.07.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.007 c
2-1353323720
Данилыч
2012-11-19 15:15
2013.07.14
Глюк StringGrid


15-1361789083
ХХХХХ
2013-02-25 14:44
2013.07.14
Не могу решить простую задачку.


15-1361910606
Юрий
2013-02-27 00:30
2013.07.14
С днем рождения ! 27 февраля 2013 среда


2-1353403594
Александр_2012
2012-11-20 13:26
2013.07.14
Проверка логических условий при записи в БД


15-1361733765
Дмитрий С
2013-02-24 23:22
2013.07.14
Обнаружить устройство на COM порту.