【问题标题】:How to Prevent TMainMenu from Taking Focus from Floating Window如何防止 TMainMenu 从浮动窗口获取焦点
【发布时间】:2015-06-13 11:57:23
【问题描述】:

我正在开发一个可以在停靠或浮动时创建和使用多个窗口的编辑器。困难在于,如果浮动窗口获得焦点,则单击主窗体的 TMenu 会从浮动窗口获得焦点。大约 1 年前讨论了一个与此问题非常相似的问题:How do I prevent menu and toolbar clicks stealing focus from a floating form? 但是,该问题的唯一答案通过使用 TActionMainMenuBar 和 TActionToolbar 解决了该问题。所以问题仍然存在——如何防止 TMainMenu 从浮动窗口获取焦点?

【问题讨论】:

  • 使用TMainMenu时不能。它是另一种形式的标准 Windows 菜单。在用户调用其菜单之前,该表单必须获得输入焦点。 TActionMainMenuBarTActionToolbar 可以解决这个问题,因为它们不是标准的 Windows 菜单,它们显示自己的弹出窗口,因此可以更好地控制焦点。

标签: delphi menu focus


【解决方案1】:

答案是使用 MDITMainMenu

子 MDI 表单将他们的菜单与 Mainform 合并。然后焦点停留在 MDI 子项上。

点击菜单时,焦点在菜单上,但一旦隐藏菜单,焦点又回到原来的形式。

【讨论】:

  • 浮动窗口不是 MDI 子窗体,所以这种方法不起作用。
猜你喜欢
  • 2011-12-06
  • 2016-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-12
  • 1970-01-01
相关资源
最近更新 更多