MDI Form, Menu dan Objek Printer
Mengenal Multiple Document Interface
Pada Visual Basic, anda dapat mengembangkan aplikasi dengan interface sebagai berikut :
• SDI (Single Document Interface)
• MDI (Multiple Document Interface)
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 :
1. Didalam satu project hanya dapat terdiri dari satu MDIForm
2. Anda tidak dapat menempatkan kontrol-kontrol secara langsung pada MDIForm, kecuali kontrol yang memiliki properti Alignment, atau menempatkannya diatas kontainer seperti Picturebox.
3. Anda tidak dapat menggunakan metode pengambaran (Print, Line, Circle, dan PSet) seperti pada form umumnya.
Membuat suatu Aplikasi MDI pada Visual Basic
1. Membuat suatu MDI form
Dari menu Insert, Pilih Add MDI Form. (Suatu aplikasi hanya dapat terdiri dari satu MDI form)
2. Membuat suatu Form menjadi MDI Child
Dari properti Form tersebut, ubah nilai properti MDI Child-nya menjadi True.
2. Menentukan StartUp Objek
Pada Menu Tools, pilih Command Options, pilih Tab Project, Tentukan StartUp Object ke MDI form yang telah ditambahkan.
Karakteristik dari MDI Form
• Semua child form tidak dapat dipindahkan keluar dari MDI Form.
• Ketika suatu child form diminimize, akan menjadi icon dibawah MDI Form.
• Anda dapat menentukan apakah child form secara otomatis ditampilkan atau tidak dengan menggunakan properti AutoShowChildren pada MDIForm.
• Jika pada child form ada menu, maka menu akan ditampilkan pada MDIform menu.
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.
Mendapatkan MDI Child yang sedang aktif.
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
Mengatur MDI Child dalam jendela MDI form
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
Membuat Menu Pada Visual Basic
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 :
Membuat Garis Pemisah antar Menu
Anda dapat menggunakan tanda - (karakter hypen) untuk membuat garis pemisah antar menu pada Caption.
Sehingga akan menghasilkan menu sebagai berikut :
Melakukan Koding terhadap Menu
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
Membuat Menu yang memiliki tanda Check
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.
Membuat Menu Pop Up
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.
Memahami Objek Printer
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.
Mencetak Data ke Objek Printer
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.
Menentukan ukuran kertas
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
Menentukan posisi pencetakkan
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
Menentukan font pencetakkan
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"
Menentukan orientasi pencetakkan
Anda dapat menggunakan properti Orientation untuk menentukan orientasi pencetakkan Portrait atau Landscape (1-vbPRORPortrait, 2-vbPRORLandscape).
Contoh :
Printer.Orientation = vbPRORLandscape
Mendapatkan informasi printer yang terinstalasi pada sistem
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).
Menentukan Printer yang akan digunakan
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
Tidak ada komentar:
Posting Komentar