Я разрабатываю Word addin, и как-то ярлыки, определенные в TAction.ShortCut, всегда срабатывают более одного раза, и это сложно для меня и трудно решить, поэтому я прибегаю к событию TForm.OnKeyDown и очищает все TAction .ShortCut, этот подход работает хорошо, за исключением того, что ярлыки не отображаются в соответствующих пунктах меню, но я хочу, чтобы они отображались в этих пунктах меню.
Как отключить TAction.Shortcut или TMenuItem.Shortcut?
Так что я придумал эту идею: Установите значения для TMenuItem.Shortcut так, что программа может показать контекстную подсказку к конечному пользователю, и не позволяет VCL обрабатывать эти ярлыки, вместо этого, обрабатывать их в TForm. OnKeyDown. Поэтому мой вопрос заключается в том, как отключить TAction.Shortcut или TMenuItem.Shortcut? Заранее спасибо.
Привет, Крэйг, спасибо. Поскольку я разрабатываю Word addin на основе сложной структуры, поэтому мне трудно найти источник проблемы и почему я скомпрометирован. –
Привет Эдвину, у нас возникла аналогичная проблема; и также выбрал один и тот же способ обхода. Мы знаем, что наша проблема связана с пакетом сторонних компонентов, который вызывает «Application.ProcessMessages». Этот конкретный набор компонентов вообще плохо написан (т. Е. Это не единственная проблема); поэтому мы решили поэтапно завершить набор компонентов из наших систем. (Вероятно, мы оставим «обходной путь» в plaec, потому что на самом деле не должно быть возможности запускать пользовательский интерфейс, пока тот же самый занят обработкой. - Независимо от причины!) –
Привет, Крэйг, еще раз спасибо! Наконец я обнаружил, что это (нежелательные вызовы Application.ProcessMessages) именно то, что вызвало проблему! –