レイヤードウィンドウ以外の方法を考える

公開:2012-02-20 17:40
更新:2020-02-15 04:37
カテゴリ:c++,directx,windowラッパーライブラリ,windows

レイヤードウィンドウは子ウィンドウには適用できない。私としてはレイヤードウィンドウをバックバッファ代わりに使いクライアント領域外も含めて全てDirect3D11で描画しようかなと考えていた。しかし複数ウィンドウを開くアプリケーションはこの方式ではつくれないということになる。

別の方法としてはDirec3D11テクスチャに描画し、WM_NCPAINTメッセージを捕まえてその際得られるDCにをコピーするという方法が考えられる。コピーはAlphaBlend APIを使えばUpdateLayeredWindowと同等のことができるのではないだろうか。一度試して見ることにする。