0

重複の可能性:
不透明なテキストとボタンを含む透明なウィンドウ

C++で既存のウィンドウを操作しようとしています。

基本的に、私がやろうとしているのは、最初にウィンドウスタイルを設定してから適切な値WS_EX_LAYEREDを使用して、親ウィンドウを透明に設定することです。SetLayeredWindowAttributes()

問題は、子ウィンドウも透明に設定され、プログラム全体が透明になることです (明らかに問題です)。

何か案は?

問題を示す編集画像:ここに画像の説明を入力

ご覧のとおり、タスクバーのウィンドウ スタイルを に設定しましたWS_EX_LAYEREDが、たとえば、ウィンドウMSTaskSwWClass(実行中のアプリケーション アイコンがあるウィンドウ) も影響を受けます。

EDIT2UpdateLayeredWindow()まったく同じ結果で試しました。

4

1 に答える 1

0

http://msdn.microsoft.com/en-us/library/windows/desktop/ms633540%28v=vs.85%29.aspx現在

Windows 8: 最上位ウィンドウと子ウィンドウで WS_EX_LAYERED スタイルがサポートされています。以前の Windows バージョンでは、最上位のウィンドウに対してのみWS_EX_LAYERED がサポートされていました。

そのため、階層化された属性を「子」ウィ​​ンドウに設定しません。

スクリーンショットやコードを見せてください。

于 2012-10-25T14:39:12.400 に答える