Membuat Transparent Form di Visual Basic 6

Cara membuat transparent form untuk aplikasi dengan compiler visual basic 6 mudah saja sebenarnya. Kita bisa saja memanfaatkan file ocx yang sudah dikompile, namun ini sangat tidak disarankan karena kita tidak tahu module apa saja yang ada didalam file ocx tersebut, iya kan kalau isinya virus jadinya nggak seru. Kenapa harus menggunakan transparent form? sebenarnya ini tidak wajib kok cuma biasanya orang iseng ingin supaya aplikasinya terlihat menarik… 😛

Adapun cara untuk membuat transparent form ini mudah untuk dicoba sendiri dirumah. Langkah awalnya adalah membuat sebuah project baru.

Setelah itu tambahkan kode berikut ini kedalam form tersebut :

Option Explicit
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 Declare Function SetLayeredWindowAttributes Lib “User32” _
(ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, _
ByVal dwFlags As Long) As Long

Const WS_EX_LAYERED = &H80000
Const GWL_EXSTYLE = (-20)
Const LWA_ALPHA = &H2

Private Sub form_load()
Dim rtn As Long
rtn = GetWindowLong(hwnd, GWL_EXSTYLE)
rtn = rtn Or WS_EX_LAYERED
SetWindowLong hwnd, GWL_EXSTYLE, rtn
SetLayeredWindowAttributes hwnd, 0, 200, LWA_ALPHA ‘200 adalah nilai transparant semakin kecil nilainya semakin transparant, nilai 255 untuk reset.
End Sub

Selesai deh tinggal dicoba hasilnya 😀 semakin transparant maka nilai yang diberikan harus semakin kecil.

Kata Kunci Terkait:

10 thoughts on “Membuat Transparent Form di Visual Basic 6”

  1. maaf mas.. source code itu saya pernah buat tapi bukan di tulis di Form, yang saya coba..

    Buat sebuah Module baru lalu ketikkan :
    Option Explicit

    Private Declare Function SetWindowLong Lib “user32” Alias “SetWindowLongA” (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    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 GetWindowLong Lib “user32” Alias “GetWindowLongA” (ByVal hwnd As Long, ByVal nIndex As Long) As Long

    Public Sub FadeForm(Frm As Form, Level As Byte)
    On Error Resume Next
    Dim msg As Long

    msg = GetWindowLong(Frm.hwnd, -20) Or &H80000
    SetWindowLong Frm.hwnd, -20, msg
    SetLayeredWindowAttributes Frm.hwnd, 0, Level, &H2
    End Sub

    Selanjutnya di bagian Form yang akan dijadikan transparan, di ‘Form_Load’ ketikkan :
    FadeForm Me, 125

    semoga membantu

    Reply

Leave a Reply to Julfri Cancel reply

[+] yoyocici emoticons Istanto Personal Blog

This site uses Akismet to reduce spam. Learn how your comment data is processed.