当我在我的主窗体(MDI Parent)上设置属性KeyPreview = TRUE时,OnKeyDown,OnKeyUp或OnKeyPress事件不会被触发。 按键时,我可以浏览主菜单(TActionMenuBar)。菜单栏似乎可以控制关键事件。
当用户按某个键(例如VK_RETURN键)时,如何触发事件?
我正在使用Delphi 2009
答案 0 :(得分:0)
从评论中我看到,当按下某个键时,您想要执行某个操作(例如,打开表单)。
为此,您可以将快捷键分配给TAction
并在TAction.OnExecute
步骤:
TActionManager
(或TActionList
)TActionManager
的编辑器出现)。按“新建操作”按钮。ShortCut
属性设置为所需的值。OnExecute
事件中编写相应的代码。请注意,在第3步(可能),您(很可能是您的用户)在将Enter
键分配给打开表单等不常见的内容时会遇到问题。 “输入”在Windows中具有非常明确的含义。
我建议分配一个功能键(通常为F2-F9)和/或Ctrl + [表格名称的第一个字母]
HTH