VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -