読者です 読者をやめる 読者になる 読者になる

S.F. Page

Programming,Music,etc...

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

C++ DirectX Windowラッパーライブラリ Windows

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

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