Pada Visual Basic, anda dapat mengembangkan aplikasi dengan interface sebagai berikut :
Pada aplikasi SDI, setiap form merupakan form-form yang berdiri sendiri, Aplikasi SDI pada windows terdapat pada aplikasi seperti Notepad, WordPad dan Paint.
Sedangkan aplikasi seperti Microsoft Word menggunakan MDI, yaitu terdiri dari suatu MDIForm, dan didalamnya merupakan form-form anak (MDIchild).
Ada beberapa hal yang harus diperhatikan dalam penggunaan MDIForm adalah :
Karakteristik dari MDI Form
Pada MDIform anda tidak dapat menempatkan kontrol-kontrol visible yang tidak mendukung alignment, kecuali kalau anda menempatkannya kedalam suatu kontainer seperti Picturebox, dan Toolbar. Sedangkan kontrol non-visible seperti Timer dan CommonDialog box dapat ditempatkan diatas MDIForm.
Untuk mendapatkan form-form yang sedang aktif didalam suatu MDIform, anda dapat menggunakan properti ActiveForm, contoh :
Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer) If Not Me.ActiveForm Is Nothing Then MsgBox "Masih ada Form yang aktif" Cancel = True End If End Sub
Anda dapat menggunakan metoda Arrange untuk mengatur penyusunan form-form yang sedang aktif didalam suatu MDI form. Metoda Arrange ini diikuti oleh suatu parameter yang menentukan jenis penyusunan yang akan dilakukan, contoh :
Private Sub mnuTileHorizontally_Click() Arrange vbTileHorizontal End Sub Private Sub mnuTileVertically_Click() Arrange vbTileVertical End Sub Private Sub mnuCascade_Click() Arrange vbCascade End Sub Private Sub mnuArrangeIcons_Click() Arrange vbArrangeIcons End Sub
Pembuatan menu pada Visual Basic dapat dilakukan dengan bantuan Menu Editor yang terdapat pada Menu Tools.
Pada dasarnya setiap item menu memiliki Caption dan sebuah Nama. Anda dapat membentuk Kunci Akses dengan menggunakan tanda & (ampersand) pada Caption dari menu tersebut. Untuk membuat menu anda cukup mengetikan Caption dan Name, selanjutnya klik pada Next, dan ketikkan menu yang berikutnya, sampai selesai. Selanjutnya adalah menbuat Sub Menu dengan melakukan klik pada panah kanan dan sebaliknya. Anda dapat membuat sampai 5 Sub Menu (6 kalau termasuk Menu Utama).
Pada contoh diatas akan menghasilkan menu sebagai berikut :
Anda dapat menggunakan tanda - (karakter hypen) untuk membuat garis pemisah antar menu pada Caption.
Sehingga akan menghasilkan menu sebagai berikut :
Untuk melakukan koding terhadap item menu, anda dapat membuka menu pada saat design dan akan menghasilkan Event Click untuk item menu tersebut, contoh :
Private Sub mnuDataDepartemen_Click() frmDepartemen.Show End Sub
Anda dapat membuat menu yang memiliki tanda Check dengan memanfaatkan option Checked pada Menu Editor.
Sehingga akan menghasilkan menu sebagai berikut :
Anda dapat mengatur keaktifan tanda Check dari item menu tersebut dengan koding sebagai berikut :
Private Sub mnuTampilWaktu_Click() mnuTampilWaktu.Checked = Not mnuTampilWaktu.Checked If mnuTampilWaktu.Checked Then frmWaktu.Show Else Unload frmWaktu End If End Sub
Anda dapat memanfaatkan option Visible untuk menyembunyikan menu ataupun menampilkan suatu item menu berdasarkan kondisi tertentu, dan option Enabled untuk membuat suatu menu dapat dipilih atau tidak.
Pada Visual Basic, anda dapat membuat menu pop up dengan memanfaatkan menu Editor untuk mendefinisikan nama kelompok menu Pop Up beserta Sub Menunya, dan menonaktifkan option Visible dari kelompok menu tersebut.
Kemudian lakukan koding pada Event MouseDown pada MDIform
Private Sub MDIForm_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button And vbRightButton Then PopupMenu mnuAtur End If End Sub
Sehingga kalau dilakukan klik kanan pada form akan menanpilkan suatu Pop Up menu yang berupa Sub Menu dari mnuAtur.
Untuk memcetak hasil aplikasi anda ke printer, anda dapat mengunakan objek Printer yang disediakan oleh Visual Basic. Pada objek printer tersedia berbagai metoda pencetakkan text dan pengambaran grafik (Line, Circle, Pset, dll) seperti yang tersedia pada form maupun kontrol Picturebox.
Objek printer juga mendukung properti ScaleWidth, ScaleHeight, ScaleTop, dan ScaleLeft. Anda dapat memeriksa kembali fungsi properti-properti ini pada control Picture.
Anda dapat menggunakan metoda print untuk mengirim tulisan yang akan dicetak ke objek printer. Anda dapat juga menggunakan metoda Newpage untuk membuat printer mencetak tulisan berikutnya ke halaman baru. Metoda EndDoc untuk memulai pencetakkan yang sebenarnya, sedangkan KillDoc untuk membatalkan pencetakkan. Anda juga dapat menggunakan properti Page untuk mendapatkan nomor halaman.
Contoh :
Printer.Print "Indoprog-vb, forum diskusi dan belajar bersama Visual Basic" Printer.NewPage Printer.Print "Ini akan dicetak pada halaman kedua" Printer.EndDoc
Untuk menentukan jumlah rangkap pencetakkan dapat menggunakan properti Copies.
Contoh :
Printer.Copies = 2 Printer.Print "Indoprog-vb, forum diskusi dan belajar bersama Visual Basic" Printer.NewPage Printer.Print "Ini akan dicetak pada halaman kedua" Printer.EndDoc
Anda dapat juga menggunakan metode pengambaran grafik seperti Line, Circle, PSet, dan PaintPicture seperti yang terdapat pada Form dan PictureBox.
Properti PaperSize dapat digunakan untuk menentukan ukuran kertas, misalnya vbPRPSLetter untuk 8 1/2 x 11 (Letter). Untuk konstanta jenis ukuran kertas dapat anda lihat dengan Object Browser pada PrinterObjectConstants.
Contoh :
Printer.PaperSize = vbPRPSLetter
Anda dapat mengatur/mendapatkan posisi pencetakkan dengan menggunakan properti CurrentX dan CurrentY.
Contoh :
Printer.CurrentX = 0.5*1440 '1/2 inch Printer.CurrentY = 1*1440 '1 inch Printer.Print "Hello Indoprog-vb"
Catatan : Ukuran dinyatakan dalam Twips, dimana 1 inch = 1440 Twips
Anda dapat mengatur font pencetakan dengan menggunakan objek font. Pada objek font anda dapat mengatur setting seperti :
Properti | Keterangan |
Bold | Mengaktifkan cetak tebal (True, False) |
Name | Menentukan nama font yang digunakan, misalnya Verdana, Times New Roman, Arial, Courier New, dll |
Italic | Mengaktifkan cetak miring (True, False) |
Size | Menentukan ukuran font |
StrikeThrought | Mengaktifkan cetak coret (True, False) |
Underline | Mengaktifkan cetak garis bawah (True, False) |
Contoh :
Printer.Font.Name = "Verdana" Printer.Font.Size = 14 Printer.Font.Bold = True Printer.Print "Hello Indoprog-vb"
Anda dapat menggunakan properti Orientation untuk menentukan orientasi pencetakkan Portrait atau Landscape (1-vbPRORPortrait, 2-vbPRORLandscape).
Contoh :
Printer.Orientation = vbPRORLandscape
Untuk mendapatkan jumlah printer yang terinstalasi pada sistem, anda dapat menggunakan properti Count, sedangkan nama printer dapat diperoleh dengan DeviceName, dan DriverName untuk mendapatkan nama Driver. Berikut ini adalah contoh mengisi nama Device dan Driver dari printer yang terinstalasi pada sistem pada suatu ComboBox.
Contoh :
For i = 0 To Printers.Count _ 1 cboPrinters.AddItem Printers(i).DeviceName & " [" & _ Printers(i).DriverName & "]" Next
Anda dapat juga mendapatkan informasi dengan properti Port (misalnya, LPT1:), memeriksa apakah printer tertentu dapat melakukan pencetakkan berwarna denga properti ColorMode (1-vbPRCMMonochrome or 2-vbPRCMColor).
Jika anda tidak menentukan printer yang akan digunakan, maka printer yang akan digunakan adalah printer default pada sistem anda.
Untuk mencetak dengan menggunakan printer yang tertentu anda dapat melakukan setting printer ke printer yang bersesuaian. Contoh berikut akan menlakukan setting printer ke nomor printer tertentu berdasarkan pilihan pemakai dari ComboBox.
Contoh :
Private Sub cmdMakeCurrent_Click() Set Printer = Printers(cboPrinters.ListIndex) End Sub
Latihan 1, Membuat MDIform dan Menu
Latihan 2, Mencetak data peserta ke Form (Print Preview)
Latihan 3, Tantangan Penyempurnaan Program