0

我有一个带有 Avalondock 的 C# 应用程序。在这个应用程序中,我可以停靠“第三方”应用程序,如记事本和 Windows 计算器。在这个停靠栏中,应用程序窗口显示时没有标题栏,正如我想要的那样。

我还有一个我想停靠的 Delphi XE2 应用程序。这是正确的,标题栏被删除并且主菜单正在工作。直到我将同一个应用程序与自定义 VCL 样式对接。在这种情况下,我的标题栏仍然显示在 Dock 中,并且主菜单不再起作用。我可以通过将borderstyle设置为bsNone来解决标题栏问题。

当我在 formcreate、formshow 或 formactivate 期间的编译或运行时应用自定义样式时,会出现此问题。当我通过单击按钮应用样式运行时时,主菜单继续工作,但我的窗口未停靠,我有一个空的停靠栏和前面的应用程序。

有谁知道如何解决这个问题?

蒂斯

4

1 回答 1

0

我通过用 TActionManager 和 TActionMainMenuBar 替换 TMainMenu 解决了这个问题。

此解决方案的一个缺点是 Korzh 本地化程序的 PopulateMenu 不再工作。这对于应用程序在停靠时没有问题,然后本地化设置在另一个级别,但是当应用程序在未停靠时使用时需要一些工作来修复。

蒂斯

于 2014-05-27T10:54:30.823 回答