![]() |
![]() |
Tanamkan pada form anda kontrol-kontrol berikut : DriveListBox, DirListBox, FileListbox, Line, dan Image
Kita perlu mempersiapkan beberapa variabel Form Level yang dapat digunakan oleh semua Sub yang ada, adapun variabel tersebut adalah :
Dim LebarTempatGambar As Integer 'Untuk menyimpan lebar tempat Gambar yang tersedia Dim TinggiTempatGambar As Integer 'Tinggi Gambar Dim PosisiKiriGambar As Integer 'Posisi kiri tempat Gambar Dim PosisiAtasGambar As Integer 'Posisi atas tempat Gambar
Selanjutnya kita buat sebuah Sub untuk menentukan posisi dan ukuran masing-masing kontrol diatas form ketika ukuran Form berubah :
Private Sub HitungPosisi() MyDrive.Top = 0 'Kontrol Drive Rapat MyDrive.Left = 0 'Kiri atas Form MyDrive.Width = 2500 MyDir.Top = MyDrive.Height 'Kontrol Dir berada dibawah MyDir.Left = 0 'kontrol Drive dan rapat kiri MyDir.Width = 2500 MyDir.Height = Me.ScaleHeight \ 3 'Tingginya 1/3 tinggi form MyFile.Top = MyDir.Top + MyDir.Height 'Kontrol File berada dibawah kontrol Dir MyFile.Left = 0 MyFile.Width = 2500 MyFile.Height = Me.ScaleHeight - MyDrive.Height - MyDir.Height 'Tingginya adalah tinggi sisa setelah Drive dan Dir Pemisah.Y1 = 0 'Garis Pemisah Antara Drive, Dir, File dengan Gambar Pemisah.Y2 = Me.ScaleHeight Pemisah.X1 = MyDrive.Width + 1 'Berada disamping kanan kontrol Drive Pemisah.X2 = MyDrive.Width + 1 PosisiAtasGambar = 0 'Hitung Tempat sisa untuk Gambar PosisiKiriGambar = Pemisah.X1 + 50 TinggiTempatGambar = Me.ScaleHeight LebarTempatGambar = Me.ScaleWidth - PosisiKiriGambar End Sub
Kita juga perlu membuat sebuah Sub yang berfungsi membuat tampilan Gambar berada ditengah kalau ukurannya lebih kecil dari tempat gambar yang tersedia.
Private Sub BuatGambarKeTengah() If Gambar.Width < LebarTempatGambar Then 'Jika lebih sempit Gambar.Left = PosisiKiriGambar + (LebarTempatGambar - Gambar.Width) \ 2 Else Gambar.Left = PosisiKiriGambar 'Rapat kiri End If If Gambar.Height < TinggiTempatGambar Then Gambar.Top = PosisiAtasGambar + (TinggiTempatGambar - Gambar.Height) \ 2 Else Gambar.Top = PosisiAtasGambar End If End Sub
Selanjutnya kita lakukan koding pada Event Load untuk membatasi jenis file yang ditampilkan pada FileListBox:
Private Sub Form_Load() 'Batasi hanya file Grafik MyFile.Pattern = "*.bmp;*.gif;*.jpg;*.wmf;*.ico" End Sub
Lakukan koding untuk Event Resize pada Form untuk memposisikan ulang semua kontrol kalau terjadi perubahaan ukuran Form :
Private Sub Form_Resize() Call HitungPosisi 'Hitung ulang posisi dan ukuran Call BuatGambarKeTengah 'Buat grafik ke tengah kalau lebih kecil dari tempat gambar End Sub
Lakukan koding pada Event DriveListBox, DirListBox, FileListBox
Private Sub MyDrive_Change() MyDir.Path = MyDrive.Drive End SubPrivate Sub MyDir_Change() MyFile.Path = MyDir.Path End SubPrivate Sub MyFile_Click() Dim fName As String If Right(MyFile.Path, 1) = "\" Then 'Kalau sudah ada backslash fName = MyFile.Path & MyFile.FileName Else fName = MyFile.Path & "\" & MyFile.FileName 'Tambahkan \ End If Gambar.Visible = False 'Sembunyikan Gambar Gambar.Picture = LoadPicture(fName) 'GantiGambar Call BuatGambarKeTengah 'Buat ketengah kalau lebih kecil dari tempat gambar Gambar.Visible = True 'Tampilkan End Sub