Jumat, 02 November 2012

Membuat Animasi Form Fade In dan Fade Out




Ups..selamat malam mas bro^_^ Kali ini kita akan membuat project sederhana berupa animasi form yang lebih tepatnya Animasi Form Fade In dan Fade OutProject kali ini merupakan request dari teman kita yang ada diGrup 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 buahform? 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 
  1. Buka Micos*ft Visual Basic 6.0 Anda, lalu pilihlah StandardEXE;
  2. Tekan Alt+P dan pilihlah Add Form lalu pada tab New pilih Form dan Open;
  3. Tekan Alt+P dan pilihlah Add Module lalu pada tab New pilih Module dan OpenOke sekarang kita sudah memiliki 2 buah form yakni form1 dan form2 serta 1 buah module yakni module1;
  4. Tambahkan Tool pada form yakni : Form1 tambahkan CommandButton 2 buah yakni CommandButton1dan CommandButton2Form2 tambahkan CommandButton 2 buah yakni CommandButton1 danCommandButton2Label  1 buah yakni Label1 serta Timer 1 buah yakni Timer1;
  5. 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 moduleCopy paste source code dibawah ini kemodTrans  (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


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

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 :
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, maksudnya timer1 di aktifkan
Timer1.Interval = 1, mengganti interval timer1 menjadi 1 (bukan 1 detik lho itu, note :   1 detik = 1000interval);

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 , 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

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 :
Jika Me (frmFade) nama pada bar adalah "Animasi Fade Out" maka memanggil perintah FadeOutjika 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 Incopy paste source codedibawah 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.

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, klikOK
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.
Download

Author : oni septian // 11.12
Kategori:

0 komentar:

Posting Komentar

tinggalkan komentar anda demi kemajuan blog saya