3

ウィンドウを呼び出しDwmExtendFrameIntoClientAreaた後、エアロモードのままでウィンドウをオフにするにはどうすればよいですか?

すべての余白を0に設定してDwmExtendFrameIntoClientAreaを呼び出そうとしました。これは、ウィンドウのクライアント領域の背景がすべて黒で、再描画のアーティファクトが表示されることを除いて、部分的に機能しているようです。

Qtを使用しsetAttribute(Qt::WA_TranslucentBackground, false)ていて、これを実行した後にウィンドウを呼び出しますが、効果がないようです。ウィンドウフレームをリセットした後、クライアント領域を正しく再描画するにはどうすればよいですか?

4

1 に答える 1

4

単純な間違いQt::WA_NoSystemBackground-Qtが実際にウィンドウを描画するように、falseに設定する必要もありました...

したがって、拡張フレームをオフにする手順は次のとおりです。

  • すべてのマージンを0に設定して、DwmExtendFrameIntoClientArea(誤解を招くでしょう?)を呼び出します。
  • ウィンドウでWA_TranslucentBackground=false(またはQt以外の同等のもの)に設定します
  • ウィンドウでWA_NoSystemBackground=false(またはQt以外の同等のもの)に設定します
于 2012-12-09T00:18:31.043 に答える