在Firemonkey表单上添加主菜单和单个子菜单项。将子菜单的快捷方式属性设置为Ctrl-A。
无论如何在进入菜单之前拦截Ctrl-A?似乎OnKeyDown形式没有看到它。
答案 0 :(得分:2)
表单检查是否存在要处理密钥的子组件。如果处理了密钥,那么这就是故事的结束。
这是一种使用内插器阻止TMenuItem
处理密钥的快速而肮脏的方法。
type
TMenuItem = class(FMX.Menus.TMenuItem)
protected
procedure DialogKey(var Key: Word; Shift: TShiftState); override;
end;
procedure TMenuItem.DialogKey(var Key: Word; Shift: TShiftState);
begin
if (ssCtrl in Shift) and (Key = 65){A} then exit;
inherited;
end;
如果您正在使用操作,则必须以相同方式覆盖DialogKey
的{{1}}功能。