Ups..selamat malam mas bro^_^ Kali ini kita akan membuat project sederhana berupa animasi form yang lebih tepatnya Animasi Form Fade In dan Fade Out. Project kali ini merupakan request dari teman kita yang ada di Grup Facebook Tutorial Visual Basic 6.0, sekalian promosi nieh yang belum gabung silakan bergabung di grup ini, dan grup ini terbuka untuk diskusi masalah yang berkaitan dengan Visual Basic 6.0 serta sebagai sarana silaturahmi hehehe…
Oke..sebagai gambaran awal, aplikasi kali ini kita akan membutuhkan 2 buah form. Kenapa kita perlu 2 buah form? Karena form pertama berfungsi sebagai pemicu untuk munculnya form kedua, jadi form yang kedua hanya contoh saja cara kerja animasi fade in dan fade out. Untuk membuat animasi fade maka kita juga memerlukan perintah transparan yang akan kita kemas dalam sebuah module.
Nggak usah panjang lebar, mari kita mulai pembuatan project kali ini :
A. Tahap Persiapan nieh :
Klik show untuk melihat gambar
- Buka Micos*ft Visual Basic 6.0 Anda, lalu pilihlah StandardEXE;
- Tekan Alt+P dan pilihlah Add Form lalu pada tab New pilih Form dan Open;
- Tekan Alt+P dan pilihlah Add Module lalu pada tab New pilih Module dan Open; Oke sekarang kita sudah memiliki 2 buah form yakni form1 dan form2 serta 1 buah module yakni module1;
- Tambahkan Tool pada form yakni : Form1 tambahkan CommandButton 2 buah yakni CommandButton1 dan CommandButton2; Form2 tambahkan CommandButton 2 buah yakni CommandButton1 dan CommandButton2, Label 1 buah yakni Label1 serta Timer 1 buah yakni Timer1;
- Ubah properties seperti dibawah ini :
Klik show untuk melihat
B. Tahap Koding, memasukkan source code maksudnya mas bro;
1. Klik 2x pada module modTrans, maka muncul jendela module. Copy paste source code dibawah ini ke modTrans (note : jangan tanya apaan tuh artinya soalnya gw juga copas tuh kode hohohoho…);
Option Explicit
Public Transparan As Integer
Public Trans As Integer
Private Const LWA_COLORKEY = 1
Private Const LWA_ALPHA = 2
Private Const LWA_BOTH = 3
Private Const WS_EX_LAYERED = &H80000
Private Const GWL_EXSTYLE = -20
Private Declare Function SetLayeredWindowAttributes _
Lib "user32" (ByVal hwnd As Long, _
ByVal color As Long, ByVal x As Byte, _
ByVal alpha As Long) As Boolean
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 GetWindowLong _
Lib "user32" Alias "GetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Sub SetTrans(hwnd As Long, Trans As Integer)
Dim Tcall As Long
Tcall = GetWindowLong(hwnd, GWL_EXSTYLE)
SetWindowLong hwnd, GWL_EXSTYLE, Tcall _
Or WS_EX_LAYERED
SetLayeredWindowAttributes hwnd, RGB(255, 255, 0), _
Trans, LWA_ALPHA
Exit Sub
End Sub
Sub SetTransp(hwnd As Long, Trans As Integer)
Dim Tcall As Long
Tcall = GetWindowLong(hwnd, GWL_EXSTYLE)
SetWindowLong hwnd, GWL_EXSTYLE, Tcall _
Or WS_EX_LAYERED
SetLayeredWindowAttributes hwnd, RGB(255, 255, 0), _
Trans, LWA_ALPHA
Exit Sub
End Sub
Public Transparan As Integer
Public Trans As Integer
Private Const LWA_COLORKEY = 1
Private Const LWA_ALPHA = 2
Private Const LWA_BOTH = 3
Private Const WS_EX_LAYERED = &H80000
Private Const GWL_EXSTYLE = -20
Private Declare Function SetLayeredWindowAttributes _
Lib "user32" (ByVal hwnd As Long, _
ByVal color As Long, ByVal x As Byte, _
ByVal alpha As Long) As Boolean
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 GetWindowLong _
Lib "user32" Alias "GetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Sub SetTrans(hwnd As Long, Trans As Integer)
Dim Tcall As Long
Tcall = GetWindowLong(hwnd, GWL_EXSTYLE)
SetWindowLong hwnd, GWL_EXSTYLE, Tcall _
Or WS_EX_LAYERED
SetLayeredWindowAttributes hwnd, RGB(255, 255, 0), _
Trans, LWA_ALPHA
Exit Sub
End Sub
Sub SetTransp(hwnd As Long, Trans As Integer)
Dim Tcall As Long
Tcall = GetWindowLong(hwnd, GWL_EXSTYLE)
SetWindowLong hwnd, GWL_EXSTYLE, Tcall _
Or WS_EX_LAYERED
SetLayeredWindowAttributes hwnd, RGB(255, 255, 0), _
Trans, LWA_ALPHA
Exit Sub
End Sub
2. Beralih pada frmAnimasi, klik 2 kali pada cmdFadeIn lalu masukkan source code sehingga seperti di bawah ini :
Private Sub cmdFadeIn_Click()
frmFade.Show
frmFade.Caption = "Animasi Fade In"
frmFade.cmdIn = True
Me.Hide
End Sub
frmFade.Show
frmFade.Caption = "Animasi Fade In"
frmFade.cmdIn = True
Me.Hide
End Sub
Penjelasan :
frmFade.Show , maksudnya memberi perintah kepada form Fade untuk terlihat
frmFade.Caption = "Animasi Fade In" , memberi perintah untuk mengganti caption / nama pada bar form Fade menjadi “Animasi Fade In”
frmFade.cmdIn = True, memberi perintah kepada cmdIn untuk aktif (di klik )
Me.Hide, maksudnya form Animasi disembunyikan;
3. Klik 2 kali pada cmdFadeOut lalu masukkan source code sehingga seperti di bawah ini :
Private Sub cmdFadeOut_Click()
frmFade.Show
frmFade.Caption = "Animasi Fade Out"
frmFade.cmdOut = True
Me.Hide
End Sub
Penjelasan :frmFade.Show
frmFade.Caption = "Animasi Fade Out"
frmFade.cmdOut = True
Me.Hide
End Sub
Intinya sama dengan poin 7 hehehe…
4. Beralih pada frmFade, klik 2 kali pada form dan masukkan source code sehingga seperti di bawah ini :
Private Sub Form_Load()
Timer1.Enabled = True
Timer1.Interval = 1
End Sub
Penjelasan :Timer1.Enabled = True
Timer1.Interval = 1
End Sub
Timer1.Enabled = True, maksudnya timer1 di aktifkan
Timer1.Interval = 1, mengganti interval timer1 menjadi 1 (bukan 1 detik lho itu, note : 1 detik = 1000 interval);
5. Klik 2 kali pada cmdIn lalu masukkan kode sehingga seperti di bawah ini :
Private Sub cmdIn_Click()
Trans = 0
SetTransp Me.hwnd, Trans
End Sub
Penjelasan :Trans = 0
SetTransp Me.hwnd, Trans
End Sub
Trans = 0 , memposisikan nilai transparan adalah 0 (nol)
SetTransp Me.hwnd, Trans , maksudnya nilai transparan tadi diposisikan pada frmFade ;
6. Klik 2 kali pada cmdOut lalu masukkan kode sehingga seperti di bawah ini :
Private Sub cmdOut_Click()
Trans = 255
SetTransp Me.hwnd, Trans
End Sub
Trans = 255
SetTransp Me.hwnd, Trans
End Sub
7. Klik 2 kali pada Timer1 lalu masukkan kode sehingga seperti di bawah ini :
Private Sub Timer1_Timer()
If Me.Caption = "Animasi Fade Out" Then
Call FadeOut
Else
Call FadeIn
End If
End Sub
Penjelasan :If Me.Caption = "Animasi Fade Out" Then
Call FadeOut
Else
Call FadeIn
End If
End Sub
Jika Me (frmFade) nama pada bar adalah "Animasi Fade Out" maka memanggil perintah FadeOut, jika tidak terpenuhi (nama bar nya) maka memanggil perintah FadeIn.
Kalau mas bro lupa lihat ulang artikel percabangan if then else ;
8. Pada halaman kode frmFade, kita akan membuat perintah FadeOut dan Fade In, copy paste source code dibawah ini :
Private Sub FadeOut()
If Trans <> 0 Then
Trans = Trans - 1
End If
SetTransp Me.hwnd, Trans
If Trans = 0 Then
Me.Enabled = True
Unload Me
frmAnimasi.Show
End If
End Sub
Private Sub FadeIn()
If Trans >= 0 Then
Trans = Trans + 1
End If
SetTransp Me.hwnd, Trans
If Trans = 255 Then
Me.Enabled = True
Unload Me
frmAnimasi.Show
End If
End Sub
Note : perhatikan baik-baik perbedaan pada nilai trans, silakan disimpulkan sendiri hasil utak atik gw xixixixixi… (dicopy paste, dilihat, diamati, dipelajari, dan terakhir disimpulkan) pasti paham lah sampean mas bro.If Trans <> 0 Then
Trans = Trans - 1
End If
SetTransp Me.hwnd, Trans
If Trans = 0 Then
Me.Enabled = True
Unload Me
frmAnimasi.Show
End If
End Sub
Private Sub FadeIn()
If Trans >= 0 Then
Trans = Trans + 1
End If
SetTransp Me.hwnd, Trans
If Trans = 255 Then
Me.Enabled = True
Unload Me
frmAnimasi.Show
End If
End Sub
9. Selesai…eits satu lagi periksa dulu startup nya, form mana dulu yang akan di eksekusi. Tekan Alt+P trus pilih bawah sendiri project1 Properties, lihat pada Startup Object pastikan frmAnimasi yang tercantum disitu, klik OK
Klik show untuk melihat gambar
10. Jalankan dengan menekan F5
Kalo ada kata yang salah ya saya minta maaf mas bro…sekian project kali ini dan tetep semangat buat belajar yah. Kalo masih bingung download source code nya di bawah sini mas bro. Sekian.
Ditulis oleh paijo_jr
Said
good,, tutorial,, sangat jelas dan terperinci dan gk hanya majang projeck doang,, ,,, hingga pemula kaya saya pun mampuh sedikit mencerna,,, makasih,, sukses gan...ijin bokmar blog agan,,,, untuk belajar memahami algoritma VB,,,
Said
makasih mas bro...silakan di ctrl+d
Said
Nice info, i enjoyed your site,
Said
linknya gajadi gan