さまざまなカスタムウィンドウタイプを作成する必要があるWin32アプリケーションを使用しています。特に、これらのウィンドウは、多くの場合、長方形ではないか、影があるか、ほとんどが透明です。
現在、WS_EX_LAYERED
withを使用しUpdateLayeredWindow
て、任意のグラフィックを描画できる透明なウィンドウを作成しています。ただし、階層化されたウィンドウには制限があり、階層化された子ウィンドウを作成することも、階層化されたウィンドウで「通常の」Win32コントロールを適切にホストすることもできません。
私たちのコードベースは数年前のもので、主にWin32とGDIを使用していますが、現在、最新のテクノロジーを検討しています。
WPFでカスタムウィンドウ処理を行うことを検討しましたが、「空域」の問題について読んだ内容が気になります。WPFは、レイヤードウィンドウを使用してピクセルごとのアルファブレンディングを実現しているようです。そのため、以前に経験した制限にも悩まされているようです。
Direct2Dについては(実際には何も)よくわかりませんが、そのテクノロジーは興味深いかもしれません。ただし、オーバーレイウィンドウを実行できることへの参照は見つかりません。
だから、これはすべて私の問題に私をもたらします:Windowsの下でオーバーレイウィンドウを実行するための最良の技術は何ですか?(少なくともVistaとWin7、XPがあればいいのですが)
私はいくつかの、特に優れた技術を無視していますか?任意の提案をいただければ幸いです。