2

我使用 dwmextendframeintoclientarea 创建了一个窗口,一切正常,除了顶部框架高度小于我在窗口最大化时设置的值。

因此,使用 drawthemetext 绘制的文本不会完全垂直居中对齐,如下图所示。 正常大小

最大化窗口

第一个是标题栏,而窗口是正常大小,而第二个窗口是最大化的。

这是因为顶部框架的高度实际上小于我在 DwmExtendFrameIntoClientArea 中设置的值。

问题是在启用 dwm 并且窗口最大化时如何获得顶部框架的实际高度?

4

1 回答 1

1

当您的应用程序最大化时,Windows 的大小实际上比屏幕略大。因此,窗口的边缘会延伸到屏幕外,从而导致您观察到的渲染。MINMAXINFO您可以在发送到窗口的消息中使用结构中收到的位置和大小WM_GETMINMAXINFO来确定窗口在屏幕外延伸的距离,并在最大化时使用它来调整渲染。

于 2013-06-14T13:16:09.873 回答