Form yang transaparan dengan background / gambar dibelakangnya terlihat seperti gambar disamping ini, untuk membuat form transaparan dapat dibuat dalam pemograman Visual Basic yang dapat menambah nilai art / seni pada aplikasi yang telah dibuat.
Untuk pembuatannya membutuhkan sebuah modul yang akan dipanggil / di execute pada form yang akan digunakan, berikut langkah-langkahnya :
1. Siapkan modul dan isi dengan source code dibawah ini :
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
Sub SetTranslucent(ThehWnd As Long, color As Long, nTrans As Integer, flag As Byte)
On Error GoTo ErrorRtn
Dim attrib As Long
attrib = GetWindowLong(ThehWnd, GWL_EXSTYLE)
SetWindowLong ThehWnd, GWL_EXSTYLE, attrib Or WS_EX_LAYERED
SetLayeredWindowAttributes ThehWnd, color, nTrans, flag
Exit Sub
ErrorRtn:
MsgBox Err.Description & " Source : " & Err.Source
End Sub
2 Siapkan komponen yang akan digunakan pada form :
Nama Kontrol Properti Nilai
Form1 Caption Form Transparan
Name Form1
Image1 Picture Pilih Lokasi Gambar
NB: untuk penamaan atribut dapat diganti sesuai keinginan.
3. Masukan Source Code dibawah ini pada form yang telah dibuat :
Option Explicit
Dim MoveScreen As Boolean, color As Long, flag As Byte
Dim MousX, MousY, CurrX, CurrY As Integer
Private Sub Command1_Click()
End
End Sub
Private Sub Form_Activate()
On Error GoTo ErrorRtn
color = RGB(0, 0, 255): flag = 0
flag = flag Or LWA_COLORKEY: Form1.Show
SetTranslucent Form1.hwnd, color, 0, flag
Exit Sub
ErrorRtn: MsgBox Err.Description & " Source : " & Err.Source
End Sub
Private Sub image1_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)
MoveScreen = True: MousX = x: MousY = Y
End Sub
Private Sub image1_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single)
If MoveScreen Then
CurrX = Me.Left - MousX + x: CurrY = Me.Top - MousY + Y
Me.Move CurrX, CurrY
End If
End Sub
Private Sub image1_MouseUp(Button As Integer, Shift As Integer, x As Single, Y As Single)
MoveScreen = False
End Sub
4. Setelah itu coba Run, jika masih ada yang debug coba sesuaikan nama atribut yang ada pada form. Sekian, smoga bermanfaat...
UPDATE : Untuk format gambar yang support hanya berformat GIF
salam sahabat
BalasHapuswah bagus juga jadi pingin setting btw suka menchester yach hehehe mkasih yach
Wah keren sob, izin sedot infonya thanks yach tambah varisai di kompi
BalasHapuswoii mantabs ga
BalasHapusizin sedot juga ahh
boleh juga nih infonya ...
BalasHapusthx infonya om, sip deeh..
BalasHapusnice info sob, pengen bngt bljr visul basic, tp ak blm punya dasarnya sob, gmana ya tahapan bljrnya??
BalasHapusmanthap gan,.saya tunggu artikel terbarunya
BalasHapus.. hhhee .. ane kurang tahu sob..
BalasHapuspi sip sip artikelnya..
go MU go !!!
kok susah amat yah??????
BalasHapusada yang lebih gampang ga caranya???
Info yg sangat berguna.thank"s atas semua info.....mohon pembelajaran....
BalasHapuskok ada debugnya? gimana nih?
BalasHapusBerdasarkan percobaan saya program ini valid, mungkin dalam penamaan atribut ada yang tidak sama, seperti yang saya katakan di atas jika ada debug sesuaikan nama atribut pada form.
BalasHapusit's wont work..,
BalasHapusmaybe you should add more detailed information about properties, components, or object that you used.
Trimakasih atas artikelnya , dan Jangan lupa baclink saya atau kunjunggi bolg saya di : www.rougerdeluffy.blogspot.com
BalasHapusThank You BGT gan....,,Ini yg lgy gw cari2,,,,
BalasHapussalam dr
www.redho-crow.blogspot.com
@redho : sama-sama gan, ditunggu kunjungan selanjutya...
BalasHapusSalam.
format gambarnya apa itu gan? tolong lebih spesifik lagi, soalnya kalo di masukin bitmap, hasilnya akan sama aja ada background warna putihnya
BalasHapusFormat gambarnya yang lebih kompitabel extension JPEG sob, maaf sob kekurangannya.
BalasHapusTerimkasih sob kunjungannya, kalau ada kurang jelas lagi silahkan di tanya sob..
nah lo kalo JPEG gimana bisa transparant tu background??
HapusUntuk format JPEG tidak bisa sob, hanya mendukung gambar berformat .gif.
HapusFormat Gif Juga Ga' Bisa Gan...!!!
HapusUdah Gue Coba -_-
Coba cari gambar gif yang lain sob, untuk contoh diatas berhasil dengan gambar berformat gif.
Hapusgan kalou di vb 2010.. g mana?
BalasHapusSaya belum melakukan percobaan pada vb 2010, kalau menurut pendapat saya mungkin saja bisa tapi harus ada modifikasi coding.
Hapuskok biasa ajj yah hasil runningannya????
BalasHapuskaya membuat form bergambar biasa brooo, cm bedanya nih d berat"in ama coding...
emang hasil yang mas broo bwt gmn???
screenshotnya gkk ad sih,jd gkk bs bedain???
hasil screenshot nya seperti diatas sob.
Hapusdisini ane bahas cara membuat gambar biasa menjadi gambar transparan.
coba saya mau lihat hasil sob gmna, bisa kirimkan link gambar hasil punya sob?
assalamualaikum wr.wb
BalasHapusmantap nih , ,
ga transparan gan
BalasHapusada coding buat nampilkan cuman gambar doang kaga gan ,tanpa border ?
BalasHapuskalo di screenshot nya yang abang kasih beda sekali dengan yang di kasih oleh abang ?
di bagian
BalasHapusme.move CurrX, CurrY
dan bagian
SetTranslucent Form1.hwnd, color, 0, flag
nya error gan...
error di MOVE dan di HWND...
itu maksudnya buat apa sih?
Bang... Bisa minta tolong g. biar punya abng di bagikan aja langsung... soanya saya barusan test... Hasilnya sama dengan komeng di atas...
BalasHapusKalau bisa projek vb nya abng tolong dubagikan ya bang...