トップページ > プログラム > 2018年01月13日 > 8yN0Kzpj0

書き込み順位&時間帯一覧

16 位/152 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000210000000000003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん (ワッチョイ 118a-zETe)
Excel VBA 質問スレ Part51

書き込みレス一覧

Excel VBA 質問スレ Part51
870 :デフォルトの名無しさん (ワッチョイ 118a-zETe)[]:2018/01/13(土) 10:05:22.76 ID:8yN0Kzpj0
ThisWorkbook.Application.Hwndでブックのハンドルを取得して、
SetLayeredWindowAttributesで透過処理をする時、
LWA_ALPHAでは問題ないのに、
LWA_COLORKEYに変えると、なぜかブック全体ではなく、
シート上に最初に配置したコマンドボタンの方に誤爆します。

しかも、自分のPCでは問題ないのに、他人のPCだと誤爆するという意味不明さ。
ハンドルがずれる的なバグでもあるのでしょうか?
Excel VBA 質問スレ Part51
875 :デフォルトの名無しさん (ワッチョイ 118a-zETe)[]:2018/01/13(土) 10:39:42.82 ID:8yN0Kzpj0
>>873
それが、コマンドボタンとシートの色を同じにしても、
コマンドボタンの方だけ透過されるんです。

しかも最初に配置したコマンドボタンだけ。
2個目以降は変わらず。

透過の前後で、ハンドルの値をデバッグプリントしても変化ないですし。
Excel VBA 質問スレ Part51
877 :デフォルトの名無しさん (ワッチョイ 118a-zETe)[]:2018/01/13(土) 11:20:55.87 ID:8yN0Kzpj0
ちなみに、こんなのです。

Sub test(ByVal Flg As Boolean)

Dim Hwnd As Long: Hwnd = ThisWorkbook.Application.Hwnd

Call SetWindowLong(Hwnd, -20, &H80000)

If Flg Then
Call SetLayeredWindowAttributes(Hwnd, 0, 200, 1) '←成功
Else
Call SetLayeredWindowAttributes(Hwnd, 0, 200, 2) '←コマンドボタンに誤爆
End If

End Sub

変えているのは最後の引数だけなんですが。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。