Tutorial AlphaBlend atau form Transparan di Visual Basic 6.0


Perkembangan Sistem Operasi saat sekarang ini sudah sangat maju dan mendukung berbagai tampilan yang menarik dan hampir semua tampilan form OS tersebut transparan, berikut ini adalah bagaimana membuat form yang anda buat supaya transparan dan gaya mengikuti tren.
1.      Bukalah program Visual Basic 6.0 dan mulailah dengan form baru.
2.      Kemudian tambahkan juga sebuah Modul dan Ketikkan perintah di bawah ini kedalam modul yang baru anda tambahkan.
1
2
3
4
5
6
7

8


9

Option Explicit
Public Const LWA_COLORKEY = 1
Public Const LWA_ALPHA = 2
Public Const LWA_BOTH = 3
Public Const WS_EX_LAYERED = &H80000
Public Const GWL_EXSTYLE = -20
Public Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal color As Long, ByVal x As Byte, ByVal alpha As Long) As Boolean
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
10
11

12
13
14
15
16
17
18

19
Sub SetTransparan(frm As Long, nilai As Integer)
    On Error GoTo err
   
    Dim attrib As Long
    attrib = GetWindowLong(frm, GWL_EXSTYLE)
    SetWindowLong frm, GWL_EXSTYLE, attrib Or WS_EX_LAYERED
    SetLayeredWindowAttributes frm, RGB(255, 255, 0), nilai, LWA_ALPHA
    Exit Sub
err:
MsgBox err.Description & " source : " & err.Source

End Sub


3.      Setelah itu kembali ke tampilan desain form dan masukkan senuah komponen Timer dengan properties Interval 50.

Keterangan Kode
1-6



7-9

10

11-12



13-15
Perintah yang akan mewajibkan anda mendeklarasikan semua variabel yang digunakan dan mendeklarasikan bebrapa variabel konstan/tetap yang akan digunakan dalam fungsi yang akan dibuat nanti.

Mendeklarasikan beberapa fungsi API yang berhubungan dengan Window atau jendela.

Membuat fungsi dengan nama SetTransparan dengan nilai input variabel frm dan nilai.

Apabila terjadi kesalahan, maka perintah yang akan dibaca adalah perintah yang terdapat pada baris 18 di bawah variabel Err yang dituju dan mendeklarasikan variabel attrib dengan tipe data long.

Mengisi variabel attrib dan menentukan nilai dari fungsi API yang digunakan.

4.      Kemudian klik ganda komponen timer. Ketikkan perintah dibawah ini pada bagian General dan prosedur Timer1_timer.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Option Explicit
Dim Transparan As Integer
Dim mulai As Boolean
Private Sub Timer1_Timer()
    On Error Resume Next
    If mulai Then
        Transparan = Transparan + 5
        If Transparan > 255 Then Transparan = 255: Timer1.Enabled = False
        Else
        Transparan = Transparan = Transparan - 5
        If Transparan < 0 Then Transparan = 0: End
        End If
        SetTransparan Form1.hwnd, Transparan
End Sub

Keterangan Kode
1-3


5

6-8




9-11
Perintah yang akan mewajibkan anda mendeklarasikan semua variabel yang digunakan dan mendeklarasikan beberapa variabel.

Perintah penanganan error yang akan membaca baris berikutnya apabila terjadi error.

Membut perintah kondisi jika variabel mulai sama dengan true, maka variabel Transparan akan ditambahkan secara terus menerus dengan nilai 5 sampai nilai variabel Transparan > 255. Apabila variabel transparan telah mencapai nilai 255, maka variabel transparan akan diberi niali default 255 dan menon-aktifkan komponen Timer1

Jika nilai variabel mulai tidak sama dengan true, maka nilai pada variabel Transparan akan dikurang secara terus menerus dengan nilai 5 samapi nilai variabel Transparan <0. Apabila variabel transparan telah mencpaai nilai di bawah 0, maka variabel transparan akan diberi nilai default 0 dan membuat perintah untuk menutup form.

5.      Aktifkan kembali tampilan desain form, kemudian klik ganda di dalam area form. Ketiklah perintah di bawah pada prosedur  Form_Load dan Form_Unload.
1
2
3
Private Sub Form_Load()
      mulai = True
End Sub
1
2
3
4
Private Sub Form_Unload(Cancel As Integer)
      Cancel = True: mulai = False
      Timer1.Enabled = True
End Sub

Keterangan Kode
1-3


4-7
Pada saat form load, variabel mulai diberi niali true supaya perintah kondisi IF mulai=true didalam komponen timer1  dapat dijalankan.

Dan pada saat form ditutup (tombol silang disudut kana atas diklik), nilai input supaya dari variabel Cancel pada prosedur Form_Unload diberi nilai True supaya form tidak dapat ditutup. Kemudian memberi nilai mulai dengan nilai False supaya perintah kondisi IF mulai=false (else)  didalm komponen Timer1 dapat dijalankan setelah komponen Timer1 diaktifkan.

6.      Untuk mencoba hasilnya, tekan tombol F5 pada keyboard.


EmoticonEmoticon