gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 14:33:48 28 4
gpt4 key购买 nike

首先,我要说的是,我讨厌 Windows Vista 和 Windows 7 中的此功能。其次,我想做它。 Here是一个询问如何在 WPF 中执行我想要的操作的问题。

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

Windows Vista/Windows 7 资源管理器主菜单的功能:

  • 应用启动时不可见
  • 按下并释放 Alt 使其可见
  • 再次按下并释放 Alt 使其再次隐形
  • 可重复。
  • 即使菜单不可见,热键也适用于菜单项*

(* Windows 资源管理器热键示例:即使菜单不可见,Microsoft Windows 资源管理器中的 Ctrl+A 也会选择全部,Alt+T = 调出工具弹出菜单,即使整个菜单隐藏)。

enter image description here

更新:可以下载使用已接受答案的演示 here 。 (隐藏菜单.zip)

最佳答案

照常使用 TMainMenuTActionList

然后做

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

(或者简单地在设计时删除Menu关联)和

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 - delphi程序中的隐藏主菜单,使用Alt键自动显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6469205/

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