3

次のようなコードを使用して、ダイアログをレイヤードウィンドウとして表示しています。

SetLayeredWindowAttributes(modalDlg, 0, 179, LWA_ALPHA);

...そしてすべてが32ビットWindowsでうまく機能します。ただし、WOW64では、使用するPCに応じて、すべてのピクセルが黒く表示されるか、まったく表示されない(透明度がゼロ)結果になります。

64ビットWindows用に4台のテストマシンがあり、2台はNVidia、2台はIntelビデオハードウェアで、すべてWin7を実行しています。また、各ベンダーの最新のビデオドライバーと、Win7で処理される自動更新(とにかく同じドライバー)を試しました。 。)

残念ながら、これらの1つ(NVidia)が実際に透明なピクセルを期待どおりに表示するという事実によって、質問は混乱しています。これは、ビデオドライバーではなく、WOW64の問題であるとは思えませんが、これまでのところ、これらを表示するすべてのマシン症状は64ビットです。

違いがある場合は、MCIコマンドで制御されたビデオを再生するフルスクリーンウィンドウにダイアログが表示されます。また、このビデオに表示される別のダイアログにLWA_COLORKEYオプションを指定してSetLayeredWindowAttributesを使用していますが、そのダイアログに問題はありません。

何か案は...?

4

0 に答える 0