加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 设置菜单项的“仅查看”快捷方式?

发布时间:2020-12-15 09:29:46 所属栏目:大数据 来源:网络整理
导读:我们知道如果我们将一个快捷方式(例如,Ctrl F2)设置为TMenuItem,一旦按下指定的快捷方式,菜单项将自动执行,并且在显示菜单时也会显示快捷方式描述. 但有没有办法让菜单项上的快捷方式描述可见,但菜单不会自动响应快捷方式? 你可能会问我为什么要这样,这是情
我们知道如果我们将一个快捷方式(例如,Ctrl F2)设置为TMenuItem,一旦按下指定的快捷方式,菜单项将自动执行,并且在显示菜单时也会显示快捷方式描述.

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

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

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

编辑1:对不起,我想简化我的问题并且我错误地描述了 – 实际上,我使用TActionList并将操作链接到菜单项.

编辑2:刚刚发现:我认为我可以使用TApplicationEvents.OnShortCut Event拦截快捷方式,然后将它们发送到菜单/操作……我会尝试并在获得结果时更新我的??问题.

解决方法

使用选项卡(#9)字符指示标准菜单中文本的缩写部分.您可以通过编辑’dfm’或在运行时设置菜单项的Caption属性或菜单项绑定的操作组件,以包含制表符:

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读