Sebenarnya bingung juga mo ngasih judul apa pada postingan kali ini tapi akhirnya kuberi judul ini aja “Menampilkan Dialog Browse”. Apa lagi maksudnya itu???secara ringkas tak kasih sedikit gambaran, kalo kamu kamu familiar sama Operating System Wind*ws misalnya yang simple Notepad.exe. Setelah notepad.exe kamu buka maka akan keluar khan notepad nya (ya jelaslah hehehehe…), trus coba kamu tekan File-Open (atau tekan Ctrl+O) maka akan muncul dialog “Open” seperti gambar di bawah ini, nah artikel kali ini saya akan share ilmu “Menampilkan Dialog Browse”.
Ikutilah langkah-langkah dibawah ini :
Tahap pertama, yakni membuat module :
Seperti biasa buka Micros*ft Visual Basic anda dan pilih standardEXE
Pada artikel kali ini, kita membutuhkan sebuah module, jadi tekan Alt+P (Project) lalu pilih Add Module (atau tekan huruf M),
Lalu tekan Open dan muncullah jendela seperti gambar di bawah ini
Isi module dengan source code dibawah ini,
Option Explicit
Private Type BrowseInfo
lngHwnd As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Private Const BIF_RETURNONLYFSDIRS = 1
Private Const MAX_PATH = 260
Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem _
As Long)
Private Declare Function lstrcat Lib "Kernel32" Alias "lstrcatA" _
(ByVal lpString1 As String, ByVal lpString2 As String) As Long
Private Declare Function SHBrowseForFolder Lib "Shell32" (lpbi _
As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "Shell32" _
(ByVal pidList As Long, ByVal lpBuffer As String) As Long
Public Function BrowseForFolder(ByVal strPrompt As String) As _
String
On Error GoTo ehBrowseForFolder
Dim intNull As Integer
Dim lngIDList As Long, lngResult As Long
Dim strPath As String
Dim udtBI As BrowseInfo
With udtBI
.lngHwnd = 0
.lpszTitle = lstrcat(strPrompt, "")
.ulFlags = BIF_RETURNONLYFSDIRS
End With
lngIDList = SHBrowseForFolder(udtBI)
If lngIDList <> 0 Then
strPath = String(MAX_PATH, 0)
lngResult = SHGetPathFromIDList(lngIDList, strPath)
Call CoTaskMemFree(lngIDList)
intNull = InStr(strPath, vbNullChar)
If intNull > 0 Then
strPath = Left(strPath, intNull - 1)
End If
End If
BrowseForFolder = strPath
Exit Function
ehBrowseForFolder:
BrowseForFolder = Empty
End Function
Private Type BrowseInfo
lngHwnd As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Private Const BIF_RETURNONLYFSDIRS = 1
Private Const MAX_PATH = 260
Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem _
As Long)
Private Declare Function lstrcat Lib "Kernel32" Alias "lstrcatA" _
(ByVal lpString1 As String, ByVal lpString2 As String) As Long
Private Declare Function SHBrowseForFolder Lib "Shell32" (lpbi _
As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "Shell32" _
(ByVal pidList As Long, ByVal lpBuffer As String) As Long
Public Function BrowseForFolder(ByVal strPrompt As String) As _
String
On Error GoTo ehBrowseForFolder
Dim intNull As Integer
Dim lngIDList As Long, lngResult As Long
Dim strPath As String
Dim udtBI As BrowseInfo
With udtBI
.lngHwnd = 0
.lpszTitle = lstrcat(strPrompt, "")
.ulFlags = BIF_RETURNONLYFSDIRS
End With
lngIDList = SHBrowseForFolder(udtBI)
If lngIDList <> 0 Then
strPath = String(MAX_PATH, 0)
lngResult = SHGetPathFromIDList(lngIDList, strPath)
Call CoTaskMemFree(lngIDList)
intNull = InStr(strPath, vbNullChar)
If intNull > 0 Then
strPath = Left(strPath, intNull - 1)
End If
End If
BrowseForFolder = strPath
Exit Function
ehBrowseForFolder:
BrowseForFolder = Empty
End Function
Kemudian pada properties window ganti nama module menjadi “mdlDialog”
Tahap kedua, yakni menambahkan komponen Common Dialog :
Pada tahap ini kita membutuhkan komponen yang namanya “Common Dialog”, untuk itu aktifkan komponen tersebut dengan melakukan centang pada “Micros*ft Common Dialog Control 6.0”
Langkah-langkahnya tekan Project-lalu pilih Component (atau jalan pintasnya tekan Ctrl+T untuk menampilkan component), scroll ke bawah lalu cari Micros*ft Common Dialog Control 6.0 serta centang dan tekan OK
Setelah itu lihat pada Toolbox, maka akan ada penambahan komponen berupa CommonDialog
Tahap Ketiga :
Masukkan 2 buah TextBox, 2 buah CommandButton dan 1 buah CommonDialog
Atur properties pada masing-masing komponen sebagai berikut : (untuk ukuran/ size terserah )
Form
| |
Name
|
frmDialog
|
BorderStyle
|
1 – Fixed Single
|
Caption
|
Menampilkan Dialog Browse
|
TextBox1
| |
Name
|
txtFolder
|
Text
|
Folder
|
TextBox2
| |
Name
|
txtFiles
|
Text
|
Files
|
CommandButton1
| |
Name
|
cmdFolder
|
Caption
|
Browse Folder
|
CommandButton2
| |
Name
|
cmdFiles
|
Caption
|
Browse Files
|
CommonDialog
| |
Name
|
CD1
|
Lalu atur komponen tersebut seperti dibawah ini :
Buka Code Window dan masukkan source code dibawah ini:
Private Sub cmdFiles_Click()
On Error GoTo akhir
Dim Filename As String
CD1.Filter = "Semua File|*.*" 'kamu bisa merubah kode ini sesuai dengan kebutuhan misal Image|*.jpg
CD1.ShowOpen
Filename = CD1.Filename
akhir:
If Len(Filename) > 0 Then
txtFiles.Text = Filename
End If
End Sub
Private Sub cmdFolder_Click()
Dim brwVal As String
brwVal = BrowseForFolder("Select Drive And Directory:")
If Len(brwVal) > 0 Then
txtFolder.Text = brwVal
End If
End Sub
Selesai, coba tekan Run atau F5
Nah mudah bukan menampilkan dialog browse hehehe… terus belajar bro.
Dapatkan Source Code nya di bawah ini atau masuk pada halaman Download
Ditulis oleh paijo_jr
Said
jian kompilet tenan tutorial e...
mantab wes pokok e, hehehhe...
Said
bro minta cd vb 6 enterprise ada link ya ga, thanks
Said
cari di idws bro keknya masih ada tuh
Said
mas broooo............
menu baris component ane di hidden...
kaya ap... cara menampilkannya lg...???
Said
bro kalo mau menjalankan filnya sekalian gmna ya ???
Said
kasih tau source code command button kalo kita mau copy file menuju folder yang di browse gimana?
terima kasih sebelumnya