ウインドウを透明にする
ウインドウを透明にするサンプルです。
サンプルの実行画面
ソースコード
[Trans.frm]
'■CreateRectRgn '矩形の領域を作成してそのハンドルを取得する '<引数> 'X1 矩形の左上隅のX座標 'Y1 矩形の左上隅のY座標 'X2 矩形の右下隅のX座標 'Y2 矩形の右下隅のX座標 '<戻り値> '正常終了の時、矩形領域のハンドル Private Declare Function CreateRectRgn Lib "GDI32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long '■SetWindowRgn 'ウインドウの描画領域を設定する '<引数> 'hWnd ウインドウのハンドル 'hRgn 領域のハンドル 'bRedraw 領域作成後の操作↓ ' 再描画するとき 1 ' 再描画しないとき 0 '<戻り値> '正常終了0以外 Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long '■DeleteObject 'オブジェクトを削除する '<引数> 'hObject '<戻り値> '正常終了0以外 Private Declare Function DeleteObject Lib "GDI32" (ByVal hObject As Long) As Long '■SendMessage '指定のウインドウにメッセージを送る '<引数> 'hWnd ウインドウのハンドル 'wMsg 定数(WM_××参照) 'wParam 定数 (HTCAPTION) 'lParam 常に0 '<戻り値> '通常使わない '定数はこれ以外にもある=>APIビューワー参照 Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long '■ReleaseCapture 'マウスキャプチャを解放 Private Declare Sub ReleaseCapture Lib "user32" () Const WM_NCLBUTTONDOWN = &HA1 Const HTCAPTION = 2 Dim Flag As Boolean 'フラグ Dim hRgn As Long '領域のハンドル Private Sub Command1_Click() Dim Ret As Long '領域を作成 hRgn = CreateRectRgn(0, 0, Command1.Width, Command1.Height) '透明ウインドウにする Call SetWindowRgn(Form1.hWnd, hRgn, 1) Command1.Caption = "マウスの右ボタンで " & vbCrLf & "終了" Flag = True End Sub Private Sub command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim Ret As Long If Flag = False Then Exit Sub If Button = 1 Then 'マウスキャプチャを解放する ReleaseCapture 'Form1をドラッグせよという命令を送る Ret = SendMessage(Form1.hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0) Else 'オブジェクトを削除する Ret = DeleteObject(hRgn) Unload Me End End If End Sub Private Sub Form_Load() 'ピクセルにする Form1.ScaleMode = 3 End Sub
ソースコード一式のダウンロード
vbapi_trans.zip 1.57 KB (1,610 バイト)
このサンプルの動作環境について
このサンプルは 「Windows98」及び「Microsoft Visual Basic 5.0 Professional Edition」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。
スポンサーリンク
関連記事
前の記事: | ウインドウのタイトルを変更する |
次の記事: | ウインドウをマウス操作で移動する |
公開日:2015年03月06日
記事NO:00427