如何获得dwm扩展和最大化窗口的顶部框架高度?

时间:2013-04-03 09:22:23

标签: winapi user-interface dwm

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

因此,使用drawthemetext绘制的文本将不会对齐绝对垂直中心,如下图所示。 the normal size

maximized window

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

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

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

1 个答案:

答案 0 :(得分:1)

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