Windows 如何关闭DwmExtendFrameIntoClientArea?

Windows 如何关闭DwmExtendFrameIntoClientArea?,windows,dwm,Windows,Dwm,在窗口上调用DwmExtendFrameIntoClientArea后,如何在保持Aero模式的同时再次关闭它 我尝试在所有边距都设置为0的情况下调用DwmExtendFrameIntoClientArea,这似乎部分起作用,只是我的窗口的客户端区域的背景都是黑色的,并且显示了重画工件 我正在使用Qt,在执行此操作后,我在我的窗口上调用了setAttribute(Qt::WA_半透明背景,false),但似乎没有效果。重置窗口框后,如何正确地重新绘制客户区?简单错误-我还需要将Qt::WA_No

在窗口上调用
DwmExtendFrameIntoClientArea
后,如何在保持Aero模式的同时再次关闭它

我尝试在所有边距都设置为0的情况下调用DwmExtendFrameIntoClientArea,这似乎部分起作用,只是我的窗口的客户端区域的背景都是黑色的,并且显示了重画工件


我正在使用Qt,在执行此操作后,我在我的窗口上调用了
setAttribute(Qt::WA_半透明背景,false)
,但似乎没有效果。重置窗口框后,如何正确地重新绘制客户区?

简单错误-我还需要将
Qt::WA_NoSystemBackground
设置为false,以便Qt实际绘制窗口

因此,关闭扩展帧的步骤是:

  • 调用dwmextendframeintoclienterea(误导,对吗?),将所有边距设置为0
  • 在窗口上设置WA_TranslucentBackground=false(或非Qt等效项)
  • 在窗口上设置WA_NoSystemBackground=false(或非Qt等效项)