【问题标题】:Delphi XE2 Style: Main Menu IgnoredDelphi XE2 风格:主菜单被忽略
【发布时间】:2013-07-15 06:08:26
【问题描述】:

我在 Delphi XE2 的 VCL 应用程序中应用了一个样式,但它工作正常,但似乎主菜单忽略了该样式。见附图。这是正常现象吗?

关于如何将样式应用于主菜单的任何建议?

【问题讨论】:

  • this comment。 Rodrigo 建议在那里使用TActionMainMenuBar 而不是TMainMenu。但他迟早会在这里给出答案,我想说:-)

标签: delphi menu delphi-xe2 vcl-styles


【解决方案1】:

这是TMainMenuBarStyleHook Vcl 样式挂钩的限制。解决此类问题的常规方法是创建并注册新的TMainMenu 样式挂钩,但不幸​​的是,TFormStyleHook(表单的 vcl 样式挂钩)内部使用了此 Vcl 样式挂钩,因此这将需要您创建一个新的表单样式钩子,这意味着很多工作。

所以我的建议是将TMainMenu 替换为TActionMainMenuBar 组件,该组件非常适合vcl 样式。

【讨论】:

  • 也许你可以使用内存中的补丁而不是从头开始重新创建表单钩子?
  • 在这种特殊情况下,使用绕道修补内存中的方法将需要与从头开始编写 Vcl 样式挂钩类似的工作。
猜你喜欢
  • 1970-01-01
  • 2012-01-07
  • 2013-07-28
  • 1970-01-01
  • 1970-01-01
  • 2012-03-29
  • 2012-05-20
  • 1970-01-01
  • 2017-10-11
相关资源
最近更新 更多