1

別のウィンドウの不透明度を変更したい。SetWindowLong と SetLayeredWindowAttributes で不透明度を変更できましたが、直接適用されません。不透明度を変更すると、ウィンドウは透明になりますが、別の不透明度に再度変更すると、不透明度がなくなります。

これはどのようにポーズ可能で、どうすればこの問題を解決できますか?これは再描画の問題ですか? また、同じ不透明度を 2 回適用しようとしました。あなたがそれをしても同じことが起こります。

これは、不透明度を変更する方法です。

public void Opacity(IntPtr WindowHandle, byte WindowOpacity)
{
    SetWindowLong(WindowHandle, -20, GetWindowLong(WindowHandle, -20) ^ 0x080000);
    SetLayeredWindowAttributes(WindowHandle, 0, WindowOpacity, 0x002);
}
4

0 に答える 0