tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
透明のフォームを作成する(VB6.0) ( No.0 )  [親スレッドへ]
日時: 2007/07/16 05:57
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[描画・画像][フォーム][]                                        *
* キーワード:透過処理,透明,半透明,グラフィック,ウィンドウ,                       *
***********************************************************************************

元質問:BitBltの使い方、他 - おじん  2003/12/25-14:56 No.7323

初期Formをスクリーンの中央に表示し、そのFormの背景を「その位置」のスクリーンの画像にしたい。ただし、Formを動かしたときは、今は考えない。


--------------------------------------------------------------------------
Layered Window その1 - 魔界の仮面弁士  2003/12/25-18:18 No.7334
--------------------------------------------------------------------------

それはさておき、Layered Windowを使った「透過」のサンプルです。
Windows 2000/XP/2003などで動作します。
# Windows Longhorn や MCE2004での動作は未検証。

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 Const GWL_EXSTYLE As Long = -20&
Private Const WS_EX_LAYERED As Long = &H80000
Private Const LWA_COLORKEY As Long = 1&
Private Const LWA_ALPHA As Long = 2&

Private Sub Form_Load()
    AutoRedraw = True
    BackColor = vbCyan
    ForeColor = vbWhite
    Font.Name = "MS 明朝"
    Font.Size = 32
    Font.Bold = True
    Print "魔界の仮面弁士"

    SetWindowLongW hWnd, GWL_EXSTYLE, WS_EX_LAYERED
    SetLayeredWindowAttributes hWnd, vbCyan, 0&, LWA_COLORKEY
End Sub


---------------------------------------------------------------
上記の実行画像を添付しておきます。
(画像をクリックすると元のサイズで見られます。)

  上記の実行結果                 下記の実行結果



 [スレッド一覧へ] [親スレッドへ]