投稿日 | : 2003/12/25(Thu) 18:23 |
投稿者 | : 魔界の仮面弁士 |
Eメール | : |
URL | : |
タイトル | : Layered Window その2 |
今度は、完全に切り抜くのではなく、半透明にするサンプルです。
フォームに、水平スクロールバーコントロールを貼っておいてください。
'====================
Option Explicit
Private Declare Function SetWindowLongW Lib "user32" _
(ByVal hWnd As Long, _
ByVal Index As Long, _
ByVal NewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" _
(ByVal hWnd As Long, _
ByVal Key As Long, _
ByVal Alpha As Byte, _
ByVal Flag As Long) As Long
Private Sub Form_Load()
HScroll1.Min = 0
HScroll1.Max = 255
HScroll1.Value = 180
Caption = "スクロールバーを左端まで移動させると、えらいことになります(泣)"
End Sub
Private Sub Form_Paint()
Const GWL_EXSTYLE As Long = -20&
Const WS_EX_LAYERED As Long = &H80000
Const LWA_ALPHA As Long = 2&
SetWindowLongW hWnd, GWL_EXSTYLE, WS_EX_LAYERED
SetLayeredWindowAttributes hWnd, 0&, CLng(HScroll1.Value), LWA_ALPHA
End Sub
Private Sub HScroll1_Change()
Refresh
End Sub