A g u s ' s V i r t u a l H o u s e |
Griya | Aku | Artikel | Download | Link | Buku Tamu | E~mail | pengganjal |
Membuat Kotak Dialog File Tanpa ActiveX
Visual Basic (VB) merupakan bahasa yang menggunakan teknologi ActiveX, dimana komponen-komponen yang ada (dalam VB disebut control) disimpan dalam file yang berbeda (*.OCX) Hal ini menyebabkan ukuran file terkompilasinya (*.EXE,*DLL) kecil, tetapi tetapi jumlah total ruang disk yang dipakai untuk distribusi program sangat besar. Hal ini sebenarnya tidak menjadi masalah bila program yang kita buat memang besar, tetapi akan menjadi masalah serius bila kita membuat program sederhana tetapi mempunyai tampilan standard yang lengkap(menu, toolbar, statusbar, kotak dialog file open dan file save). Juga akan menjadi masalah bila program tersebut akan dibuat untuk didownload dari internet. Bagaimana mengatasi masalah ini? Ada beberapa control yang sebenarnya diambil dari sistem Windows. File ActiveX(*.OCX) yang dipakai merupakan penghubung antara Visual Basic dengan file system Windows (*.DLL). Kita bisa secara langsung memanggil fungsi system dengan menggunaka fungsi API sehingga bisa mengurangi jumlah file ActiveX(*.OCX) yang kita gunakan. Dengan catatan yang kita panggil langsung adalah komponen yang tidak perlu dibuat secara pemrograman visual. Karena jika hal ini kita lakukan kita malah akan melangkah mundur. Contoh yang bisa kita gunakan adalah kotak dialog internal Windows, misalnya kotak dialog "File Open" dan "File Save". Windows mempunyai fungsi API GetOpenFileName untuk menampilkan kotak dialog "Open File" dan GetSaveFileName untuk kotak dialog "File Save". Adapu cara menggunakan kedua fungsi tersebut adalah: lErrStatus=GetOpenFileName(OpenFile)lErrStatus=GetSaveFileName(OpenFile) OpenFile adalah fariable bertipe OPENFILENAME.yang deklarasi type-nya sebagai berikut: Public Type OPENFILENAME lStructSize As Long hwndOwner As Long hInstance As Long lpstrFilter As String lpstrCustomFilter As String nMaxCustFilter As Long nFilterIndex As Long lpstrFile As String nMaxFile As Long lpstrFileTitle As String nMaxFileTitle As Long lpstrInitialDir As String lpstrTitle As String Flags As Long nFileOffset As Integer nFileExtension As Integer lpstrDefExt As String lCustData As Long lpfnHook As Long lpTemplateName As String End Type lErrStatus adalah variabel bertipe Long yang berisi status dari operasi yang berlangsung. Bila lErrStatus > 0 bberarti proses berhasil, sebaliknya bila lErrStatus = 0 berarti proses gagal atau dibatalkan dengan menekan tombol Cancel di dalam kotak dialog file. Untuk memudahkan Anda saya telah membuat module klas CFileDialog (lihat listing 1 <CFileDialog.txt>) yang membungkus kedua fungsi diatas. Klas ini mudah digunakan karena nama metode dan properti yang dipakai sedapat mungkin dibuat sama dengan kontrol CommonDialog. Adapun properti yang digunakan sebagai berikut:
Sedangkan metoda yang digunakan adalah:
Supaya lebih jelas bagaimana menggunakan klas CFileDialog saya telah membuat program demo berupa text editor yang saya beri nama CivilSoft Note 1.0 (CSNote.EXE) yang dibuat dengan VB 5.0 (sebelumnya menggunakan VB 4.0). Program ini masih sederhana karena memang hanya untuk demo saja. Program ini juga menggunakan beberapa teknik lain, untuk lebih jelasnya silahkan ke bagian download. Saya menerima kritik dan saran bila ternyata masih terdapat bug dalam klas CFileDialog. Semoga bermanfaat bagi pembaca sekalian. [ Top ] |
Griya | Aku | Artikel | Download | Link | Buku Tamu | E~mail | hiden |