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

隐藏主菜单在delphi程序中,使用Alt键自动显示

发布时间:2020-12-15 10:19:49 所属栏目:大数据 来源:网络整理
导读:首先,让我说我在Windows Vista和Windows 7中废除此功能。第二,我想这样做。 Here是一个问题,如何做我想在这里,在WPF。 我想做同样的事情,但在Delphi,使用VCL股票组件,TMainMenu或Action Manager菜单,或一些可用的第三方组件,甚至Toolbar2000或一些
首先,让我说我在Windows Vista和Windows 7中废除此功能。第二,我想这样做。 Here是一个问题,如何做我想在这里,在WPF。

我想做同样的事情,但在Delphi,使用VCL股票组件,TMainMenu或Action Manager菜单,或一些可用的第三方组件,甚至Toolbar2000或一些其他库。

Windows Vista / Windows 7 explorer主菜单的功能:

>它在应用程序启动时不可见
>按下并释放Alt使其可见
>再次按下和释放Alt使它再次不可见
>可重复。
>热键在菜单项上工作,即使菜单不可见*

(* Windows资源管理器热键示例:Microsoft Windows资源管理器中的Ctrl A选择所有即使菜单不可见,Alt T =启动工具弹出菜单,即使整个菜单被隐藏)。

更新:演示使用接受的答案可以下载here.(HiddenMenu.zip)

解决方法

像往常一样使用带有TActionList的TMainMenu。

然后做

procedure TForm1.FormShow(Sender: TObject);
begin
  Self.Menu := nil;
end;

(或者在设计时删除菜单关联)和

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key = VK_MENU) or (Key = VK_F10) then
    Menu := MainMenu1;
end;

procedure TForm1.WndProc(var Message: TMessage);
begin
  inherited;
  case Message.Msg of
    WM_EXITMENULOOP:
      SetMenu(Handle,0);
  end;
end;

不要忘记将窗体的KeyPreview设置为true。

(请注意,由于快捷方式由TActionList处理,即使菜单已过去,它们也会工作。)

(编辑:李大同)

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

    推荐文章
      热点阅读