Minggu, 27 Juni 2010

Membuat Form Transparan Mengunakan VB6

Untuk membuat tampilan form pada Visual Basic 6 agar lebih menarik anda bisa mengunakan form yang transfaran.Source code berikut untuk membuat form yang transparan. Komponen-komponen yang ada di dalam form nya pun ikut transparan. Tingkat transparan bisa ditentukan sendiri seberapa transparan form yang akan dibuat.

Langkah yang pertama anda membuat project pada VB6.dalam project yang anda buat anda hanya butuh 1 form dan 1 module (untuk form tergantung kebutuhan bisa 1 bisa juga
lebih)

Langkah yang kedua tuliskan source code di bawah ini tp jika males Copy source code berikut pada Module :

Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Declare Function UpdateLayeredWindow Lib "user32" (ByVal hWnd As Long, ByVal hdcDst As Long, pptDst As Any, psize As Any, ByVal hdcSrc As Long, pptSrc As Any, crKey As Long, ByVal pblend As Long, ByVal dwFlags As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Const GWL_EXSTYLE = (-20)
Private Const LWA_COLORKEY = &H1
Private Const LWA_ALPHA = &H2
Private Const ULW_COLORKEY = &H1
Private Const ULW_ALPHA = &H2
Private Const ULW_OPAQUE = &H4
Private Const WS_EX_LAYERED = &H80000

Public Function isTransparent(ByVal hWnd As Long) As Boolean
On Error Resume Next
Dim Msg As Long
Msg = GetWindowLong(hWnd, GWL_EXSTYLE)
If (Msg And WS_EX_LAYERED) = WS_EX_LAYERED Then
isTransparent = True
Else
isTransparent = False
End If
If Err Then
isTransparent = False
End If
End Function

Public Function MakeTransparent(ByVal hWnd As Long, Perc As Integer) As Long
Dim Msg As Long
On Error Resume Next
If Perc < 0 Or Perc > 255 Then
MakeTransparent = 1
Else
Msg = GetWindowLong(hWnd, GWL_EXSTYLE)
Msg = Msg Or WS_EX_LAYERED
SetWindowLong hWnd, GWL_EXSTYLE, Msg
SetLayeredWindowAttributes hWnd, 0, Perc, LWA_ALPHA
MakeTransparent = 0
End If
If Err Then
MakeTransparent = 2
End If
End Function

Public Function MakeOpaque(ByVal hWnd As Long) As Long
Dim Msg As Long
On Error Resume Next
Msg = GetWindowLong(hWnd, GWL_EXSTYLE)
Msg = Msg And Not WS_EX_LAYERED
SetWindowLong hWnd, GWL_EXSTYLE, Msg
SetLayeredWindowAttributes hWnd, 0, 0, LWA_ALPHA
MakeOpaque = 0
If Err Then
MakeOpaque = 2
End If
End Function

Langkah ketiga copy source code pada form

Private Sub Form_Load()
MakeTransparent Me.hWnd, 200
'ubah nilainya untuk mengatur tingkat
'ke-transparan-annya. range (0-255)
'0 form akan menghilang total
'255 form akan normal / terlihat jelas
End Sub

langkah ke empat RUN project anda dan lihat hasilnya
langkah ke Lima pelajari Algoritmanya jangan mau kalo hanya tinggal copas ga akan ngerti-ngerti...hehehhe

SELAMAT BELAJAR DAN MENCOBA JANGAN PERNAH MENYERAH SOBAT

0 comments:

Posting Komentar

 
Design by Wordpress Theme Template Blog Free | Bloggerized by Free Blogger Templates | coupon codes