ストリーミング ビデオが描画される 1 つのウィンドウを含む activeX コントロールがあります。さまざまな方法で透明または半透明にした別のウィンドウで作成した別のダイアログがあります (つまり、SetLayeredWindowAttributes(...) をダイアログの Layered プロパティ [アルファ ブレンディング用] と一緒に使用するか、透明を設定します)。財産)。
さらに、さまざまな方法を使用して、ダイアログのウィンドウが常にストリーミングビデオウィンドウの上に描画されるようにしようとしましたが、うまくいくとは証明されていません。ダイアログにボタンがある場合、または LineTo(...) 呼び出しで透明な表面に描画する場合、それらはビデオの上に残りません。SetWindowPos を使用して 2 つのウィンドウの z オーダーに影響を与えようとしましたが、「TopMost」などのダイアログ ウィンドウのプロパティを変更しようとしましたが、役に立ちませんでした。
ストリーミング ビデオにオーバーレイされたウィンドウに対してこのようなことを試み、ストリーミング ビデオの後に常にフロント ウィンドウを描画するために z オーダーを取得した人はいますか?
更新: 02/10/10 - LWA_COLORKEY を使用して SetLayeredWindowAttributes(...) で WS_EX_LAYERED プロパティを使用してみましたが、私が探していたものを達成しました。階層化されたプロパティは WS_CHILD スタイルでは使用できないため、このソリューションでは、ビデオを含むウィンドウに対するオーバーレイ ウィンドウの位置を管理する必要があります。さらに、私が排除しようとしている他の奇妙な点がいくつかあります。たとえば、ビデオを含む ActiveX コントロール ウィンドウが IE タブに埋め込まれていて、別のタブに切り替えると、オーバーレイ ウィンドウのコントロールが新しいタブの上に残ります (WS_POPUP スタイルが使用されている場合)。これに対処する代替手段があるかどうかをまだ調査してから、スイッチを決定し、ウィンドウの可視性を非表示にします。