我在页面控件的选项卡内打开表单。这些表单可能包含带有快捷键的操作。我希望只有包含此表单的选项卡处于活动状态时才触发这些快捷键。
我尝试重写表单的IsShortCut方法,但它并未被调用。表单的OnShortCut也没有被调用。
我希望避免在每个操作上放置代码来检查这一点。
我正在使用Delphi 2010。
我在页面控件的选项卡内打开表单。这些表单可能包含带有快捷键的操作。我希望只有包含此表单的选项卡处于活动状态时才触发这些快捷键。
我尝试重写表单的IsShortCut方法,但它并未被调用。表单的OnShortCut也没有被调用。
我希望避免在每个操作上放置代码来检查这一点。
我正在使用Delphi 2010。
将隐藏选项卡上的操作列表的 State
设置为 asSuspended
。只有可见选项卡上的操作列表应该具有 asNormal
状态,这将防止快捷键起作用。它还会防止这些操作更新,这可能是您的应用程序需要或不需要的。
尝试在你切换到其他选项卡时将表单的 Enabled 属性设置为 false,而在切换到它所在的选项卡时将其设置为 True。这应该会禁用表单上的所有内容,包括快捷方式。