gpt4 book ai didi

delphi - 设置 'view-only'菜单项的快捷方式?

转载 作者:行者123 更新时间:2023-12-03 15:10:29 24 4
gpt4 key购买 nike

我们知道,如果我们为 TMenuItem 设置快捷键(例如 Ctrl + F2),则一旦按下指定的快捷键,该菜单项就会自动执行,并且在显示菜单时也会显示快捷方式说明

但是有没有办法让快捷方式描述在菜单项上可见,但使菜单不自动响应快捷方式?

你可能会问我为什么要这个,情况是这样的:

在多文档(如 Firefox 的多选项卡)程序中,有多个 TPopupMenu 实例,因此多个 TMenuItem 对象具有相同的快捷方式,但我只希望事件文档窗口中的菜单项响应快捷方式。

<小时/>

编辑 1:抱歉,我想简化我的问题,但我描述错误 - 实际上,我使用 TActionList 并将操作链接到菜单项。

<小时/>

编辑2:刚刚发现:我想我可以使用TApplicationEvents.OnShortCut Event在快捷方式被分派(dispatch)到菜单/操作之前拦截它们...我会尝试并在得到结果时更新我的​​问题。

最佳答案

使用制表符 (#9) 来指示标准菜单中文本的快捷方式部分。您可以通过编辑“dfm”或在运行时包含制表符来设置菜单项或菜单项绑定(bind)到的操作组件的 Caption 属性:

procedure TForm1.FormCreate(Sender: TObject);
begin
Action1.Caption :=
Action1.Caption + #9 + ShortCutToText(ShortCut(VK_F2, [ssCtrl]));

除非您还分配给菜单项或操作的 ShortCut 属性本身,否则不会触发单击/执行事件。

关于delphi - 设置 'view-only'菜单项的快捷方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10123455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com