Bukankah kelihatan keren jika Anda memiliki sebuah Aplikasi yang memiliki variasi animasi yang cukup menarik bagi para user namun tentunya tidak mengurangi fungsi utama dari pembuatan aplikasi tersebut. Animasi userform fade out ini hanya sekedar tambahan saja. Seperti yang telah saya buat beberapa atau koleksi aplikasi yang dibuat menggunakan Ms. Excel di blog ini, bagi yang berminat mencobanya silakan cari-cari saja sudah ada kategori dari setiap materinya kok.
Baiklah, bagaimana cara membuat Fade Out Animasi UserForm tersebut?
Langkah-langkahnya silakan buat sebuah userform yang disertai dengan label dan ganti caption untuk label tersebut menjadi tulisan "Terimakasih..." kemudian tambahkan pula 1 buah commandbutton kemudian ganti juga caption melalui properties menjadi "Close" kira-kira desain tampilan seperti berikut ini untuk pewarnaan latar belakang dari userform Anda bisa lakukan sendiri dengan mengganti BackColor pada propertis menjadi &H00FF0000& atau warna biru.Terlihat pada tampilan userform diatas bertuliskan ucapan "Terimakasih" tentunya Anda sudah bisa membaca bahwa animasi fade out userform ini hanya untuk sekedar informasi dalam animasi saja. Langkah berikutnya kita akan membuat coding dan silakan perhatikan coding berikut ini
Tambahkan Coding Berikut pada UserForm
Option Explicit
Private Declare Function GetActiveWindow Lib "USER32" () As Long
Private Declare Function SetWindowLong Lib "USER32" Alias "SetWindowLongA" _
(ByVal hWnd As Long, _
ByVal lngWinIdx As Long, _
ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "USER32" Alias "GetWindowLongA" _
(ByVal hWnd As Long, _
ByVal lngWinIdx As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "USER32" _
(ByVal hWnd As Long, _
ByVal crKey As Integer, _
ByVal bAlpha As Integer, _
ByVal dwFlags As Long) As Long
Private Const WS_EX_LAYERED = &H80000
Private Const LWA_ALPHA = &H2
Private Const GWL_EXSTYLE = &HFFEC
Dim hWnd As Long
Dim Transparancy As Integer
Dim Running As Boolean
Jika Sudah selesai tambahkan juga coding untuk prosedur Transparant nya seperti berikut ini
Private Sub Transparency()Dim MyTimer As Double
DoEvents
MyTimer = Timer
Do
Do
Loop While Timer - MyTimer < 0.07
MyTimer = Timer
Transparancy = Transparancy - 1
If Transparancy < 0 Then
Unload Me
Else
Call SemiTransparent(Application.WorksheetFunction.Min(Transparancy, 100))
End If
DoEvents
Loop While Running
End Sub
Jika sudah selesai membuat modul Transparant tambahkan juga untuk semi trasnparan atau Anda bisa copy pastekan coding berikut ini
Private Sub SemiTransparent(ByVal intLevel As Integer)
Dim lngWinIdx As Long
hWnd = GetActiveWindow
lngWinIdx = GetWindowLong(hWnd, GWL_EXSTYLE)
SetWindowLong hWnd, GWL_EXSTYLE, lngWinIdx Or WS_EX_LAYERED
SetLayeredWindowAttributes hWnd, 0, (255 * intLevel) / 100, LWA_ALPHA
End Sub
Jika sudah selesai langkah berikutnya kita akan memanggil coding prosedur diatas kedalam prosedur userform initialize maka silakan tuliskan coding berikut
Private Sub UserForm_Initialize()
Transparancy = 120
Call SemiTransparent(100)
DoEvents
End Sub
Tambahkan juga coding untuk prosedur ketika userform aktif untuk memanggil coding transparant
Private Sub UserForm_Activate()
Running = True
Call Transparency
End Sub
Agar ketika Form di close atau keluar maka Anda harus mematikan runing dari time transparant tersebut maka silakan tambahkan coding Close Query
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Running = False
End Sub
Bagaimana mengecek hasilnya?
Silakan jalankan printah tersebut maka akan muncul userform seperti gambar diatas dengan ucapan terimakasih dan dalam hitungan beberapa detik userform akan berubah menjadi transparant seperti gambar berikut ini
Lihatlah ada perbedaan antara gambar form paling atas dengan gambar form yang kedua diatas yaitu transparancy.
Oke, demikian bagaimana membuat animasi userform dengan Fade Out dan close dalam beberapa detik, semoga saja bermanfaat dan selamat mencoba. Jangan lupa jika ada pertanyaan silakan komentar dibawah mudah-mudahan bisa terjawab.
0 Response to "Animasi UserForm Fade Out dalam Beberapa Detik"
Posting Komentar
Tulisan ini Bermanfaat..? Silakan berkomentar sesuai topik artikelnya, tidak dianjurkan menggunakan kata-kata yang dapat menimbulkan hal negatif. Mohon maaf apabila tidak memiliki etika akan Admin HAPUS tanpa pemberitahuan kembali. Terimakasih... salam Exceler