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

前端之家收集整理的这篇文章主要介绍了隐藏主菜单在delphi程序中,使用Alt键自动显示前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_502_1@首先,让我说我在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处理,即使菜单已过去,它们也会工作。)

猜你在找的Delphi相关文章