MENCIPTAKAN MENU
APA YANG AKAN ANDA PELAJARI PADA BAB INI:
a. Bagaimana
menciptakan menu
b. Bagaimana
menciptakan submenu
c. Bagaimana
menciptakan menu konteks
Menu adalah bagian
penting dari aplikasi dan menawarkan bukan hanya cara mudah untuk menavigasi
aplikasi tetapi juga berperan sebagai perangkat penting pada aplikasi.
Misalnya, Visual Studio 2012 atau Visual Studio 2013. Ia memberikan menu-menu
untuk menavigasi sejumlah jendela yang ia tampilkan dan berperan sebagai
perangkat yang penting dalam mempermudah pengembangan piranti melalui menu dan
submenu untuk memotong, menyalin, dan menempelkan kode.
Bab ini akan
mendiskusikan bagaimana menciptakan menu pada aplikasi Visual Basic. Anda akan
mengeksplorasi bagaimana menciptakan dan mengelola menu dan submenu dan
bagaimana menciptakan menu konteks dan mendefinisikan ulang menu konteks
default. Visual Studio menawarkan dua kontrol menu pada Toolbox, dan Anda akan mengeksplorasi keduanya.
MEMAHAMI FITUR-FITUR MENU
Kontrol MenuStrip pada Visual Studio menawarkan
beberapa fitur kunci. Pertama dan terpenting, ia menawarkan cara mudah dan
cepat dalam menambahkan menu, item menu, dan item submenu pada aplikasi Anda. Ia
juga menawarkan sebuah editor built-in yang dapat Anda pakai untuk menambah,
mengedit, menghapus item-item menu.
Item-item menu yang Anda
ciptakan dapat memuat citra, kunci akses, kunci pintas, dan tanda centang
berikut dengan label teks.
Citra
Hampir setiap orang
familiar dengan citra pada menu aplikasi seperti Microsoft Outlook atau Visual
Studio. Pada Visual Basic versi awal, pengembang piranti tidak dapat
menciptakan item menu dengan citra tanpa melakukan modifikasi pemrograman yang
rumit. Visual Basic telah melakukan perjalanan panjang dan sekarang menawarkan
sebuah properti Image untuk item
menu yang membuat penambahan citra pada item menu menjadi pekerjaan mudah.
Kunci Akses
Kunci akses (juga dikenal
dengan kunci akselerator) memampukan Anda untuk menavigasi menu menggunakan
kunci Alt dan sebuah huruf yang digaris-bawahi pada item menu. Ketika kunci
akses ditekan, menu akan ditampilkan di layar dan user dapat menavigasinya
menggunakan kunci panah atau mouse.
Kunci Pintas (Shortcut)
Kunci pintas dapat Anda
pakai untuk memanggil item menu tanpa perlu menampilkan menu sama sekali. Kunci
pintas umumnya memuat sebuah kunci kontrol dan sebuah huruf, seperti Ctrl + X
untuk memotong teks.
Tanda Centang
Simbol tanda centang
dapat ditempatkan di samping sebuah item menu menggantikan citra, umumnya untuk
mengindikasikan bahwa item menu sedang digunakan. Sebagai contoh, jika Anda
mengklik menu View pada Visual
Studio dan kemudian memilih item menu Toolbars,
Anda akan melihat sebuah submenu yang memiliki banyak item submenu, beberapa di
antaranya memiliki tanda centang. Item submenu yang memiliki tanda centang
mengindikasikan bahwa toolbar yang sedang ditampilkan.
Gambar 7.1 menunjukkan
sejumlah fitur yang dapat Anda gunakan pada menu Anda. Seperti yang dapat Anda
lihat, menu sederhana ini menyediakan semua fitur yang telah disebutkan. Gambar
7.1 menunjukkan menu ketika projek dijalankan. Gambar 7.2 menunjukkan bagaimana
menu pada mode design.
GAMBAR 7.1
GAMBAR 7.2
Hal pertama yang akan
Anda perhatikan ketika menggunakan kontrol MenuStrip
adalah bahwa ia menyediakan suatu cara dalam menambahkan menu, item menu, atau
item submenu dengan cepat. Setiap kali Anda menambahkan salah satu, sebuah
luasan teks kosong akan ditambahkan.
Jendela Properties
Ketika Anda menciptakan
atau mengedit sebuah menu, jendela Properties
menampilkan sejumlah properti yang dapat diatur untuk menu yang sedang diedit,
seperti ditunjukkan pada Gambar 7.3, yang menunjukkan sejumlah properti untuk
item menu Toolbar.
GAMBAR 7.3
Anda dapat menciptakan
sebanyak mungkin menu, item menu, dan item submenu yang Anda perlukan. Anda
bahkan dapat menempatkan sedalam mungkin item submenu dengan menciptakan
submenu lain di dalam sebuah submenu.
Anda sebaiknya mengikuti
format standar untuk menu yang Anda lihat pada kebanyakan aplikasi Windows saat
ini. Salah satu contoh menu dapat Anda lihat pada Visual Studio 2012 dan Visual
Studio 2013. Sebagai contoh, Anda selalu memiliki sebuah menu File, dan sebuah item menu Exit di dalam menu File untuk keluar dari aplikasi. Jika aplikasi Anda menyediakan
fungsionalitas cut, copy, dan paste, maka Anda sebaiknya menempatkannya di
dalam menu Edit, dan seterusnya.
Kuncinya di sini adlaah
membuat tampilan menu Anda seperti menu pada kebanyakan aplikasi Windows lain
sehingga user merasa nyaman menggunakan aplikasi Anda. Dengan cara ini, mereka
tidak merasa bahwa mereka harus belajar dasar-dasar Windows kembali. Sejumlah
item menu dapat bersifat spesifik pada aplikasi Anda, tetapi kuncinya adalah
bagaimana mengorganisirnya menjadi kategori menu sehingga user familiar
menggunakannya.
MENCIPTAKAN MENU
Bagian ini
mendemonstrasikan betapa mudahnya menciptakan menu pada aplikasi Anda. Pada
latihan berikut, Anda akan menciptakan sebuah form yang memuat sebuah batang
menu, dua toolbar, dan dua kotak teks. Batang menu akan memuat lima menu: File, Edit, View, dan Help, dan beberapa item menu dan item
submenu. Ini dapat Anda pakai untuk secara utuh berlatih dalam menggunakan
fitur-fitur dari kontrol menu. Karena beberapa langkap terlihat dalam membangun
aplikasi ini, proses akan dibagi ke dalam beberapa bagian.
Merancang Menu
Anda akan
mengimplementasikan kode di balik item-item menu untuk mendemonstrasikan menu
dan bagaimana menambahkan kode pada item menu Anda.
LATIHAN
|
Menciptakan Menu
|
Pada contoh pertama, Anda
akan belajar bagaimana menciptakan menu dan submenu.
1. Awali Visual Studio dan klik File kemudian pilih New Project. Pada dialog New Project, pilih Windows Forms Application pada panel Template dan masukkan nama projek Menu Windows Forms pada bidang Name.
Klik pada tombol OK untuk
menciptakan projek.
2. Klik pada form dengan mode design
dan tetapkan properti-properti form sebagai berikut:
Tetapkan
Size menjadi 300, 180.
Tetapkan
StartPosition menjadi CenterScreen.
Tetapkan
Text menjadi Menu Demo.
3. Geret sebuah kontrol MenuStrip dari Toolbox dan tempatkan ke form. Ia secara otomatis akan diposisikan
ke bagian atas form. Kontrol juga ditambahkan ke bagian bawah form, seperti
kontrol-kontrol kotak dialog yang telah didiskusikan sebelumnya.
4. Pada jendela Properties, tetapkan Font
Size menjadi 8.
5. Klik kanan pada kontrol MenuStrip1 pada form dan pilih item
menu konteks agar item-item menu standar disisipkan secara otomatis.
6. Pada jendela Properties, klik pada tombol dengan elipsis di samping properti Items atau klik kanan pada kontrol MenuStrip1 pada form Anda dan pilih Edit Items dari menu konteks.
Pada kotak dialog Items Collection Editor, klik tombol Add untuk menambahkan sebuah item menu
baru. Agar konsisten dengan penamaan standar, tetapkan properti Name untuk item menu baru ini menjadi ViewToolStripMenuItem.
Sekarang tetapkan properti Text menjadi &View. Sebuah simbol &
pada nama menu akan menyediakan kunci akses untuk menu atau item menu. Huruf
yang ada di depan simbol & akan menjadi huruf yang digunakan untuk
mengakses item menu ini dengan kombinasi kunci Alt, jadi untuk menu ini Anda dapat mengakses menu View denga menekan Alt+V. Anda akan melihat ini pada saat projek dijalankan.
Anda akan memosisikan menu ini di
antara menu Edit dan menu Tools jadi Anda mengklik anak panah
atas sampai menu View diposisikan
antara EditToolStripMenuItem dan ToolsToolStripMenuItem.
7. Sekarang cari properti DropDownItems dan klik tombol elipsis
di sampingnya sehingga Anda dapat menambahkan item-item menu di bawah menu View. Sebuah dialog Items Collection Editor kedua akan
ditampilkan; kapsionnya terbaca “Items
Collection Editor (ViewToolStripMenuItem.DropDownItems)”.
Hanya ada satu item menu, Toolbars, di bawah menu View.
Klik tombol Add pada dialog Item Collections Editor untuk
menambahkan sebuah MenuItem.
Lagi, Anda ingin konsisten dengan penamaan standar yang
sedang digunakan untuk menetapkan properti Name
menjadi ToolbarToolStripMenuItem.
Kemudian tetapkan properti Text
menjadi &Toolbars.
8. Untuk menambahkan dua item submenu
di bawah item menu Toolbars, cari
properti DropDownItems dan klik
tombol yang ada di sampingnya.
Pada dialog Item Collections Editor, klik tombol Add untuk menambahkan sebuah item menu baru. Tetapkan properti Name untuk item submenu ini menjadi MainToolStripMenuItem dan properti Text menjadi &Main. Tetapkan properti ShortcutKeys
menjadi Ctrl+M. Untuk melakukannya,
centang kotak untuk Ctrl dan
kemudian pilih M dari list yang ada.
Selanjutnya, pastikan properti ShowShortcutKets
ditetapkan True. Ketika Anda
menambahkan toolbar Main pada projek ini, ia akan ditampilkan secara default,
jadi item submenu ini sebaiknya dicentang untuk mengindikasikan bahwa toolbar
ditampilkan. Tetapkan properti Checked
menjadi True untuk menyebabkan item
submenu ini dicentang secara default, dan tetapkan properti CheckOnClick menjadi True agar tanda centang di samping item
submenu ini akan ditoggle on dan off.
9. Item submenu selanjutnya yang Anda
tambahkan adalah Formatting. Klik
tombol Add untuk menambahkan sebuah
item menu baru dan tetapkan properti Name
untuk item submenu ini menjadi FormattingToolStripMenuITem
dan properti Text menjadi &Formatting.
Karena menu Formatting yang Anda tambahkan tidak akan ditampilkan secara
default, Anda perlu membiarkan properti Checked
ditetapkan False. Tetapi Anda perlu
menetapkan properti CheckOnClick
menjadi True sehingga item submenu
dapat ditoggle on dan off.
10.
Simpan projek Anda dengan mengklik
tombol Save All pada toolbar.
11.
Jalankan projek Anda pada titik ini
dan kemudian tekan Alt+V dan Alt+T (tanpa melepaskan kunci Alt), Anda akan
melihat item-item submenu, seperti ditunjukkan pada Gambar 7.4. Anda dapat pula
mengklik menu-menu lain dan melihat item-item menunya.
GAMBAR
7.4
Penjelasan
Visual Studio telah
melakukan banyak hal bagi Anda dengan menyediakan item menu konteks Insert Standard Items pada
kontrol MenuStrip. Anda mengklik
item menu ini agar Visual Studio menciptakan menu standar dan item-item menunya
yang ditemukan pada kebanyakan aplikasi. Ini dapat Anda pakai agar Anda bisa
berkonsentrasi hanya pada menu dan item menu yang spesifik pada aplikasi Anda.
Menambahkan Toolbar dan Kontrol
Pada bagian ini, Anda
akan menambahkan toolbar dan beberapa tombol yang diperlukan oleh aplikasi.
Menu yang diciptakan pada bagian sebelumnya akan mengendalikan penampilan dan
penyembunyian toolbar ini. Anda juga dapat menambahkan sepasang kontrol TextBox yang dipakai pada aplikasi
untuk memotong, menyalin, dan menempelkan teks menggunakan tombol-tombol
toolbar dan item-item menu.
LATIHAN
|
Menambahkan Toolbar dan Kontrol
|
Anda telah menggunakan
toolbar sebelumnya. Pada MS Word, Anda dapat mengklik pada tombol toolbar print
ketika Anda ingin mencetak. Pada latihan selanjutnya, Anda akan menciptakan
toolbar yang serupa.
1. Kembali ke mode design pada projek Menu Windows Forms. Anda akan
menambahkan dua toolbar pada form, jadi cari kontrol ToolStrip pada jendela Toolbox
dan geret dan jatuhkan kontrol tersebut pada form Anda; ia secara otomatis akan
menyejajarkan dirinya di bawah menu. Tetapkan properti Name menjadi tspMain.
2. Tombol-tombol toolbar default akan
cocok untuk projek ini, jadi klik kanan pada kontrol ToolStrip pada form dan pilih Insert
Standard Items dari menu konteks untuk menambahkan tombol-tombol toolbar
standar.
3. Selanjutnya, tambahkan toolbar kedua
pada form dengan cara yang sama. Ia akan menyejajarkan dirinya di bawah toolbar
pertama. Tetapkan properti Name
menjadi tspFormatting dan properti Visible menjadi False, karena Anda tidak ingin toolbar ini ditampilkan secara
default.
4. Anda akan menambahkan tiga tombol
pada toolbar ini, jadi klik elipsis di samping dari properti Items pada jendela Properties atau klik kanan pada kontrol ToolStrip pada form dan pilih Edit
Items dari menu konteks.
Pada kotak dialog Items Collection Editor, klik tombol Add untuk menambahkan tombol pertama.
Karena Anda tidak akan menggunakan tombol-tombol ini, Anda dapat menerima nama
default dan teks ToolTip untuknya.
Pastikan bahwa properti DisplayStyle
ditetapkan Image dan kemudian klik pada tombol yang ada di samping properti Image. Pada dialog Select Resource, klik
tombol Import dan pilih citra yang
ingin Anda pakai untuk tombol ini.
5. Pada kotak dialog Items Collection Editor, klik tombol Add kembali untuk menambahkan tombol
kedua. Pastikan bahwa properti DisplayStyle
ditetapkan Image dan kemudian klik pada tombol yang ada di samping properti Image. Pada dialog Select Resource, klik
tombol Import dan pilih citra yang
ingin Anda pakai untuk tombol ini.
6. Pada kotak dialog Items Collection Editor, klik tombol Add kembali untuk menambahkan tombol
ketiga. Pastikan bahwa properti DisplayStyle
ditetapkan Image dan kemudian klik pada tombol yang ada di samping properti Image. Pada dialog Select Resource, klik
tombol Import dan pilih citra yang
ingin Anda pakai untuk tombol ini.
7.
Klik tombol OK pada kotak dialog Items
Collection Editor untuk menutupnya.
8. Tambahkan sebuah kontrol Panel dari Toolbox ke form Anda dan tetapkan properti Dock menjadi Fill.
9. Tambahkan dua kontrol TextBox pada kontrol Panel dan terima semua properti defaultnya.
Lokasi dan ukurannya tidak penting, tetapi sebaiknya dibuat cukup lebar untuk
memuat teks. Form Anda sekarang tampak seperti pada Gambar 7.5. Perhatikan
bahwa toolbar kedua tidak terlihat, karena Anda menetapkan properti Visible menjadi False. Jika Anda jalankan projek
Anda pada titik ini, Anda akan melihat menu, toolbar main, dan dua kotak teks.
Toolbar formatting tidak terlihat pada titik ini karena properti Visible ditetapkan False.
GAMBAR 7.5
Penjelasan
Kontrol ToolStrip, seperti kontrol MenuStrip, menyediakan item menu
konteks Insert Standard Items, yang
dapat membantu Anda, seperti ditunjukkan pada Gambar 7.5. Kontrol ini
menawarkan cara efisien dalam menyediakan tombol-tombol toolbar standar yang
ditambahkan pada kontrol ToolStrip.
Anda tentu dapat menata tombol-tombol yang ditambahkan dan bahkan menambahkan
tombol baru dan menghapus tombol yang ada.
Karena Anda menetapkan
properti Visible menjadi False untuk kontrol tspFormatting, kontrol itu tidak
menempati ruang apapun pada saat perancangan setelah kontrol kehilangan fokus.
Mengkode Menu
Setelah Anda menambahkan
semua kontrol pada form, sekarang saatnya untuk menuliskan kode untuk membuat
kontrol-kontrol ini bekerja sesuai yang diinginkan. Pertama, Anda perlu
menambah fungsionalitas untuk membuat menu bekerja. Kemudian Anda menambahkan
kode untuk membuat tombol-tombol pada toolbar utama bekerja.
LATIHAN
|
Mengkode Menu File
|
Selanjutnya, Anda akan
menempatkan kode di balik menu-menu.
1. Awali dengan menukar ke editor kode
untuk form. Pada kotak combo Class Name di atas editor kode, pilih NewToolStripMenuItem dan pilih event Click pada kotak combo Method Name. Tambahkan kode yang ditebalkan pada event handler Click:
Private Sub
NewToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles
NewToolStripMenuItem.Click
'Membersihkan kedua kotak teks
TextBox1.Text = String.Empty
TextBox2.Text = String.Empty
'Menetapkan
fokus pada kotak teks pertama
TextBox1.Focus()
End Sub
2. Tambahkan prosedur untuk tombol New pada toolbar dengan memilih NewToolStripButton dari kotak combo Class Name dan event Click
dari kotak combo Method Name. Tambahkan kode yang ditebalkan
berikut pada prosedur ini:
Private
Sub NewToolStripButton_Click(sender As Object, e As EventArgs)
Handles
NewToolStripButton.Click
'Memanggil prosedur
NewToolStripMenuItem_Click
NewToolStripMenuItem_Click(sender, e)
End
Sub
3. Pilih ExitToolStripMenuItem dari kotak combo Class Name dan event Click dari kotak combo Method Name dan tambahkan kode yang ditebalkan berikut pada prosedur:
Private Sub
ExitToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles ExitToolStripMenuItem.Click
'Menutup dan
mengakhiri form
Me.Close()
End Sub
Penjelasan
Untuk membersihkan kotak
teks pada form di dalam prosedur NewToolStripMenuItem_Click,
tambahkan kode berikut. Apa yang Anda lakukan adalah menetapkan properti Text dari kedua kotak teks menjadi
sebuah string kosong. Baris berikutnya dari kode menetapkan fokus pada kotak
teks pertama dengan memanggil metode Focus
dari kotak teks tersebut:
Private Sub
NewToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles
NewToolStripMenuItem.Click
'Membersihkan kedua kotak teks
TextBox1.Text = String.Empty
TextBox2.Text = String.Empty
'Menetapkan fokus pada kotak teks pertama
TextBox1.Focus()
End Sub
Ketika Anda mengklik item
menu New di bawah menu File, kedua kotak teks akan dibersihkan
dari semua teks, dan TextBox1 akan
menerima fokus dan siap untuk menerima teks.
Tombol New pada toolbar akan berperan sama,
tetapi Anda tidak perlu menuliskan kode yang sama dua kali. Anda dapat menempatkan
teks pada prosedur sebelumnya di dalam prosedur terpisah dan memanggil prosedur
tersebut dari kedua prosedur NewToolStripMenuItem_Click
dan NewToolStripButton_Click.
Tetapi, Anda hanya perlu memanggil prosedur itu dari dalam prosedur NewToolStripButton_Click. Karena kedua
prosedur menerima parameter yang sama, Anda hanya perlu melewatkan
parameter-parameter yang diterima di dalam prosedur ini kepada prosedur yang
dipanggil:
'Memanggil
prosedur NewToolStripMenuItem_Click
NewToolStripMenuItem_Click(sender, e)
Sekarang Anda dapat
mengklik tombol New pada toolbar
atau mengklik item menu New pada
menu File dan mendapatkan hasil yang
sama, yang membersihkan kedua kotak teks dari form.
Ketika Anda mengklik item
menu Exit, Anda ingin program
berakhir. Pada prosedur, ExitToolStripMenuItem_Click,
Anda menambahkan kode berikut. Katakunci Me
mengacu pada kelas dimana kode dieksekusi, dan pada kasus ini mengacu ke kelas
form. Metod Close menutup form, melepaskan semua memori, dan mengakhiri
program:
'Menutup dan
mengakhiri form
Me.Close()
Sekarang Anda akan
mengkode menu Edit dan menambahkan
kode untuk item-item menunya.
LATIHAN
|
Mengkode Menu Edit
|
Pada contoh ini, Anda
menambahkan kode untuk membuat menu edit dan tombol-tombol toolbar bekerja.
1. Item menu pertama pada menu Edit adalah item menu Undo. Pilih UndoToolStripMenuItem pada kotak combo Class Name dan pilih
event Click pada kotak combo Method Name. Tambahkan kode yang ditebalkan berikut pada event handler Click:
Private
Sub UndoToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles
UndoToolStripMenuItem.Click
'Membatalkan operasi terakhir
If TypeOf Me.ActiveControl Is TextBox Then
CType(Me.ActiveControl, TextBox).Undo()
End If
End
Sub
2. Item menu selanjutnya yang akan Anda
tambahkan kodenya adalah item menu Cut.
Pilih CutToolStripMenuItem pada
kotak combo Class Name dan event Click pada kotak combo Method
Name. Tambahkan kode yang ditebalkan
di sini:
Private Sub
CutToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles
CutToolStripMenuItem.Click
'Menyalin
teks yang dan membersihkan bidang
If TypeOf
Me.ActiveControl Is TextBox Then
CType(Me.ActiveControl, TextBox).Cut()
End If
End Sub
3. Anda ingin tombol Cut pada toolbar untuk memanggil kode
untuk item menu Cut. Pilih CutToolStripButton pada kotak combo Class Name dan event Click
pada kotak combo Method Name. Tambahkan kode berikut:
Private Sub
CutToolStripButton_Click(sender As Object, e As EventArgs)
Handles
CutToolStripButton.Click
'Memanggil
prosedur CutToolStripMenuItem_Click
CutToolStripMenuItem_Click(sender, e)
End Sub
4. Item menu selanjutnya yang akan Anda
tambahkan kodenya adalah item menu Copy.
Pilih CopyToolStripMenuItem pada
kotak combo Class Name dan event Click pada kotak combo Method
Name. Tambahkan kode yang ditebalkan
di sini:
Private
Sub CopyToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles
CopyToolStripMenuItem.Click
'Menyalin teks
If TypeOf Me.ActiveControl Is TextBox Then
CType(Me.ActiveControl, TextBox).Copy()
End If
End
Sub
5. Anda ingin tombol Copy pada toolbar untuk memanggil kode
untuk item menu Copy. Pilih CopyToolStripButton pada kotak combo Class Name dan event Click
pada kotak combo Method Name. Tambahkan kode berikut:
Private
Sub CopyToolStripButton_Click(sender As Object, e As EventArgs)
Handles
CopyToolStripButton.Click
'Memanggil prosedur
CopyToolStripMenuItem_Click
CopyToolStripMenuItem_Click(sender, e)
End
Sub
6. Item menu selanjutnya yang akan Anda
tambahkan kodenya adalah item menu Paste.
Pilih PasteToolStripMenuItem pada
kotak combo Class Name dan event Click pada kotak combo Method
Name. Tambahkan kode yang ditebalkan
di sini:
Private Sub
PasteToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles
PasteToolStripMenuItem.Click
'Menyalin
teks ke kotak teks
If TypeOf
Me.ActiveControl Is TextBox Then
CType(Me.ActiveControl, TextBox).Paste()
End If
End Sub
7. Anda ingin tombol Paste pada toolbar untuk memanggil kode
untuk item menu Paste. Pilih PasteToolStripButton pada kotak combo Class Name dan event Click
pada kotak combo Method Name. Tambahkan kode berikut:
Private
Sub PasteToolStripButton_Click(sender As Object, e As EventArgs)
Handles
PasteToolStripButton.Click
'Memanggil PasteToolStripMenuItem_Click
PasteToolStripMenuItem_Click(sender, e)
End
Sub
8. Item menu terakhir yang akan Anda
tambahkan kodenya adalah item menu Select
All. Pilih SelectAllToolStripMenuItem
pada kotak combo Class Name dan event Click pada kotak combo Method
Name. Tambahkan kode yang ditebalkan
di sini:
Private
Sub SelectAllToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles
SelectAllToolStripMenuItem.Click
'Menyeleksi semua teks pada kotak teks
If TypeOf Me.ActiveControl Is TextBox Then
CType(Me.ActiveControl,
TextBox).SelectAll()
End If
End
Sub
Penjelasan
Anda telah menambahkan
kode untuk menu Edit yang diawali
dengan item menu Undo. Karena Anda
memiliki dua kotak teks pada form Anda, Anda memerlukan sebuah cara untuk
menentukan kotak teks mana yang sedang digunakan atau sebuah cara generik dalam
menangani operasi undo untuk kotak teks. Pada contoh ini, Anda melakukan
pendekatan kedua dan menyediakan cara generik untuk menangani kedua kotak teks.
Anda melakukan ini dengan
pertama-tama menentukan apakah kontrol aktif mana adalah sebuah kontrol TextBox atau tidak. Properti ActiveControl dari kelas Form menghasilkan sebuah referensi ke
kontrol aktif pada form, yaitu kontrol yang memiliki fokus.
Kemudian Anda memeriksa
kontrol aktif untuk melihat apakah kontrol itu berupa kontrol TextBox. Ini dilakukan menggunakan
operator TypeOf. Operator ini
membandingkan sebuah referensi objek dengan sebuah tipe data, dan di dalam kode
yang ditampilkan di bawah ini Anda membandingkan referensi objek yang
dihasilkan di dalam properti ActiveControl
dengan sebuah data bertipe TextBox.
Ketika Anda mengetahui
bahwa kontrol yang aktif adalah kontrol TextBox,
Anda menggunakan fungsi CType untuk
mengkonversi objek yang dimuat di dalam properti ActiveControl menjadi sebuah kontrol TextBox. Ini mengekspos properti-properti dan metode-metode dari
kontrol TextBox sehingga Anda dapat
memilih metode Undo:
'Membatalkan operasi terakhir
If TypeOf Me.ActiveControl Is TextBox Then
CType(Me.ActiveControl,
TextBox).Undo()
End If
Menu dan toolbar tidak
pernah ditetapkan sebagai kontrol aktif. Ini memampukan Anda untuk menggunakan
menu dan tombol-tombol toolbar dan selalu mereferensi kontrol aktif.
Anda menggunakan logika
yang sama untuk prosedur item menu lain seperti item menu Undo, memeriksa kontrol aktif untuk melihat apakah kontrol itu
merupakan kontrol TextBox. Kemudian
Anda memanggil metode sesuai pada kontrol TextBox
untuk memotong, menyalin, menempel, dan memilih semua teks.
Mengkode Menu View dan Toolbar
Setelah Anda menambahkan
kode untuk membuat item-item menu Edit
dan tombol-tombol toolbar fungsional, langkah selanjutnya untuk membuat
item-item menu di bawah menu View
fungsional.
LATIHAN
|
Mengkode Menu View
|
Selanjutnya, tambahkan
kode untuk menyembunyikan dan menampilkan toolbar.
1. Kembali ke editor kdoe pada projek Menu Windows Forms dan pada kotak combo
Class Name, pilih MainToolStripMenuItem.
Pada kotak combo Method Name, pilih event Click. Tambahkan kode yang ditebalkan berikut pada event handler Click:
Private Sub
MainToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles
MainToolStripMenuItem.Click
'Mentoggle
visibilitas toolbar Main
'berdasarkan
pada properti Checked pada item menu
If
MainToolStripMenuItem.Checked Then
tspMain.Visible = True
Else
tspMain.Visible = False
End If
End Sub
2. Anda perlu menambahkan jenis kode
yang sama seperti yang Anda tambahkan pada item menu Formatting. Pilih FormattingToolStripMenuItem
pada kotak combo Class Name dan event Click pada kotak combo Method
Name dan tambahkan kode yang
ditebalkan berikut:
Private
Sub FormattingToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles
FormattingToolStripMenuItem.Click
'Mentoggle visibilitas dari toolbar
Formatting
'berdasarkan pada properti Checked pada
item menu
If FormattingToolStripMenuItem.Checked Then
tspFormatting.Visible = True
Else
tspFormatting.Visible = False
End If
End
Sub
Penjelasan
Ketika item submenu Main di bawah menu Toolbars, item submenu menampilkan sebuah tanda centang atau
menghapus tanda centang berdasarkan status terkini dari properti Checked dari item submenu. Anda
menambahkan kode di dalam event handler Click
dari item submenu ini untuk menampilkan atau menyembunyikan toolbar Main dengan menetapkan properti Visible menjadi True atau False:
'Mentoggle visibilitas
toolbar Main
'berdasarkan pada
properti Checked pada item menu
If
MainToolStripMenuItem.Checked Then
tspMain.Visible = True
Else
tspMain.Visible = False
End If
Prinsip yang sama berlaku
untuk item submenu Formatting, dan
kodenya sangat mirip dengan kode dari item submenu Main:
'Mentoggle
visibilitas dari toolbar Formatting
'berdasarkan
pada properti Checked pada item menu
If
FormattingToolStripMenuItem.Checked Then
tspFormatting.Visible = True
Else
tspFormatting.Visible = False
End
If
Menguji Kode Anda
Saat aplikasi Anda
menjadi lebih kompleks, pengujian kode menjadi sangat penting. Lebih banyak
error yang dapat Anda temukan dan perbaiki selama pengujian, semakin baik Anda
dalam mengimplementasikan aplikasi yang stabil dan handal.
Anda perlu menguji tidak
hanya fungsionalitas dari aplikasi Anda, tetapi juga sejumlah skenario yang
dilakukan user.
LATIHAN
|
Menguji Kode Anda
|
Ikuti langkah-langkah
berikut untuk menguji kode Anda.
1. Saatnya menguji kode Anda. Klik
tombol toolbar Start. Ketika form
dimuat, satu-satunya toolbar yang Anda lihat adalah toolbar Main, seperti ditunjukkan pada Gambar
7.6.
GAMBAR
7.6
2. Klik menu View dan kemudian klik item menu Toolbars. Perhatikan bahwa item submenu Main diseleksi dan toolbar Main
ditampilkan. Kemudian klik item submenu Formatting.
Toolbar Formatting ditampilkan
berikut dengan toolbar Main.
Perhatikan pula bahwa kontrol-kontrol pada form Anda bergeser ke bawah ketika
toolbar Formatting ditampilkan. Ini
terjadi karena Anda menempatkan sebuah kontrol Panel pada form, menetapkan
properti Dock menjadi Fill, dan kemudian menempatkan kedua
kontrol TextBox pada kontrol Panel. Dengan melakukan ini, semua
kontrol akan diposisikan ulang, baik untuk menempati ruang ketika sebuah
toolbar disembunyikan atau menyediakan ruang ketika toolbar ditampilkan; hal
ini sama seperti pada Visual Studio 2012 dan Visual Studio 2013.
3. Jika Anda mengklik menu View kembali dan mengklik item menu Toolbars, Anda akan melihat kedua item submenu Main dan Formatting
dicentang. Item submenu tercentang mengindikasikan bahwa toolbar ditampilkan,
dan item submenu tak-tercentang mengindikasikan bahwa toolbar tidak
ditampilkan.
4. Sekarang uji fungsionalitas dari menu Edit. Klik pada kotak teks pertama dan
ketikkan teks tertentu. Kemudian klik pada menu Edit dan pilih item menu Select
All. Setelah Anda memilih item menu Select All, teks pada kotak teks akan disorot.
5. Anda sekarang ingin menyalin teks
pada kotak teks pertama ketika teks disorot. Tempatkan mouse ke atas tombol Copy pada toolbar untuk melihat ToolTip. Sekarang klik tombol Copy pada toolbar atau pilih Edit kemudian pilih item menu Copy. Tempatkan kursor pada teks kedua
dan kemudian klik tombol Paste pada
toolbar atau pilih Edit kemudian
pilih item submenu Paste. Teks
tersebut akan disalin ke kotak teks kedua, seperti ditunjukkan pada Gambar 7.7.
GAMBAR
7.7
6. Klik pada kotak teks pertama dan
kemudian klik Edit kemudian pilih Undo.
Perhatikan bahwa perubahan yang Anda lakukan pada kotak teks pertama telah
dibatalkan.
7. Item terakhir pada menut Edit untuk diuji adalah item menu Cut. Ketikkan teks tertentu pada kotak
teks pertama, dan sorot teks pada kotak teks pertama dengan mengklik menu Edit dan pilih item menu Select All. Kemudian pilih ikon Cut
pada toolbar atau pilih Edit
kemudian Cut. Teks ini disalin dan
kemudian dihapus dari kotak teks.
Tempatkan kursor Anda pada kotak
teks kedua di akhir dari teks di sana. Kemudian
lakukan paste pada teks ini menggunakan kunci pintas Paste, Ctrl + V. Teks ditempatkan di akhir
dari teks yang ada pada kotak teks. Inilah cara kerja operasi cut, copy, dan paste
dari Windows.
GAMBAR
7.8
8. Sekarang klik menu File dan pilih item menu New. Teks pada kotak teks akan dihapus.
Satu-satunya item yang tersisa untuk diuji adalah item menu Exit di bawah menu File.
9. Sebelum menguji item menu Exit,
lihat sebentar pada menu konteks. Ketikkan teks tertenu pada salah satu kotak
teks. Sekarang, klik kanan pada kotak teks tersebut, dan Anda akan melihat
sebuah menu konteks ditampilkan, sama seperti ditunjukkan pada Gambar 7.8.
Perhatikan bahwa konteks menu konteks ini ditampilkan secara otomatis; Anda
tidak perlu menambahkan kode apapun untuk memilikinya. Ini merupakan salah satu
fitur dari sistem operasi Windows, dan Visual Studio menawarkan suatu cara
untuk mendefinisikan-ulang menu konteks default, seperti yang akan Anda lihat
pada bagian selanjutnya.
10.
Untuk menguji fungsionalitas
terakhir dari program Anda, pilih File
kemudian pilih Exit, dan program
Anda akan berakhir.
Penjelasan
Contoh ini menunjukkan
pada Anda bagaimana menjejak pengujian kode. Anda sebaiknya memiliki
rencana-rencana pengujian yang sama dengan langkah-langkah ini.
MENU KONTEKS
Menu konteks adalah menu
yang ditampilkan ketika user mengklik tombol mouse kanan pada sebuah kontrol
atau jendela. Menu ini menawarkan kepada user akse cepat ke perintah-perintah
untuk kontrol-kontrol yang disediakan. Seperti yang Anda lihat pada bagian sebelumnya,
menu konteks yang ditampilkan menawarkan suatu cara dalam mengelola teks pada
sebuah kotak teks.
Menu konteks dapat
dimodifikasi sesuai dengan kebutuhan aplikasi Anda; dan pada aplikasi yang
lebih kompleks, seperti Visual Studio atau Microsoft Word, menu konteks
menawarkan akses cepat untuk perintah-perintah.
Anda telah melihat bahwa
Windows menawarkan sebuah menu konteks untuk kontrol TextBox yang dapat Anda gunakan, dan Anda dapat
mendefinisikan-ulang menu konteks default jika aplikasi Anda memerlukannya.
Sebagai contoh, dimisalkan bahwa Anda memiliki sebuah aplikasi dimana di
dalamnya Anda ingin agar user dapat menyalin teks ke dalam sebuah kotak teks.
Ini merupakan situasi ideal untuk menyediakan menu konteks sendiri agar
operasi-operasi tertentu dapat dilakukan.
Visual Studio menawarkan
sebuah kontrol ContextMenuStrip yang
dapat Anda pakai untuk ditempatkan pada form Anda dan untuk dimodifikasi, sama
seperti yang Anda lakukan pada kontrol MenuStrip.
Namun, perbedaan utama antara kontrol MenuStrip
dan kontrol ContextMenuStrip adalah
bahwa Anda dapat menciptakan hanya satu menu level-atas dengan kontrol ContextMenuStrip. Anda masih dapat
menciptakan item-item submenu dengan ContextMenuStrip
jika diperlukan. Kebanyakan kontrol pada jendela Toolbox memiliki sebuah properti ContextMenuStrip yang dapat diatur untuk menciptakan menu konteks.
Ketika Anda mengklik kanan pada kontrol tersebut, menu konteks yang Anda
definisikan akan ditampilkan menggantikan menu konteks default.
Sejumlah kontrol, seperti
kontrol ComboBox dan ListBox, tidak memiliki menu konteks
default, karena kedua kontrol itu memuat sekumpulan item, bukan satu item
seperti kontrol sederhana seperti TextBox.
Kedua kontrol tersebut masih memiliki properti ContextMenuStrip yang dapat dipakai untuk menciptakan menu konteks
sendiri.
Menciptakan Menu Konteks
Setelah Anda mengetahui
apa itu menu konteks, sekarang Anda siap untuk belajar bagaimana menciptakan
dan menggunakannya pada aplikasi Visual Basic.
LATIHAN
|
Menciptakan Menu Konteks
|
Pada latihan ini, Anda
akan mengembangkan contoh latihan sebelumnya dengan menambahkan sebuah menu
konteks pada kotak teks. Anda akan menambahkan satu menu konteks dan
menggunakannya untuk kedua kotak teks. Anda bisa saja dengan mudah menciptakan
dua menu konteks, satu untuk tiap kotak teks, dan memiliki menu-menu konteks
dengan fungsi-fungsi yang berbeda.
1. Kembali ke mode design pada projek Demo Menu Windows Forms dan klik pada jendela Toolbox untuk mencari kontrol ContextMenuStrip.
Geret dan jatuhkan kontrol itu pada form Anda, dimana ia akan ditambahkan di
bawah form seperti kontrol MenuStrip.
2. Pada jendela Properties, klik tombol yang ada di samping dari properti Items. Anda akan menambahkan lima item
menu pada menu konteks Anda.
3. Klik tombol Add pada dialog Items
Collection Editor untuk menambahkan item menu pertama dan tetapkan properti
Name menjadi ContextUndoToolStripMenuItem. Klik tombol elipsis di samping
properti Image dan klik tombol Import pada dialog Select Resource. Cari
citra yang Anda pilih. Klik OK pada
dialog tersebut untuk menutupnya dan kembali ke dialog Items Collection Editor. Tetapkan properti Text menjadi Undo.
4. Anda akan menambahkan sebuah
separator antara item menu Undo dan
item menu berikutnya. Pilih Separator
pada kotak combo List pada dialog Items Collection Editor dan kemudian
klik tombol Add.
5. Pilih MenuItem pada kotak combo dan klik tombol Add kembali untuk menambahkan item menu berikutnya. Tetapkan
properti Name menjadi ContextCutToolStripMenuItem. Klik
tombol yang ada di samping properti Image
dan, pada dialog Select Resource, pilih citra yang Anda sukai.
Terakhir, tetapkan properti Text
menjadi Cut.
6. Klik tombol Add kembali untuk menambahkan item menu berikutnya. Tetapkan
properti Name menjadi ContextCopyToolStripMenuItem. Klik
tombol yang ada di samping properti Image
dan, pada dialog Select Resource, pilih citra yang Anda sukai.
Terakhir, tetapkan properti Text
menjadi Copy.
7. Klik tombol Add kembali untuk menambahkan item menu berikutnya. Tetapkan
properti Name menjadi ContextPasteToolStripMenuItem. Klik
tombol yang ada di samping properti Image
dan, pada dialog Select Resource, pilih citra yang Anda sukai.
Terakhir, tetapkan properti Text
menjadi Paste.
8. Anda akan menambahkan sebuah
separator antara item menu Paste dan
item menu berikutnya. Pilih Separator
pada kotak combo List pada dialog Items Collection Editor dan kemudian
klik tombol Add.
9. Pilih MenuItem pada kotak combo dan klik tombol Add kembali untuk menambahkan item menu berikutnya. Tetapkan
properti Name menjadi ContextSelectAllToolStripMenuItem. Klik
tombol yang ada di samping properti Image
dan, pada dialog Select Resource, pilih citra yang Anda sukai.
Terakhir, tetapkan properti Text
menjadi Select All.
10.
Ketika selesai, klik sembarang bagian dari form untuk
membuat menu konteks tak terlihat. (Anda dapat selalu menampilkannya kembali
dengan mengklik kontrol ContextMenuStrip1
yang ada di bawah form).
11.
Klik pada kotak teks pertama pada form Anda. Pada
jendela Properties, pilih ContextMenuStrip1 pada list drop-down
untuk properti ContextMenuStrip.
Ulangi tindakan yang sama untuk kotak teks kedua untuk menugaskan sebuah menu
konteks pada properti ContextMenuStrip.
12.
Uji menu konteks Anda. Pada titik
ini, Anda belum menambahkan kode untuk menu konteks tersebut, tetapi Anda dapat
memastikan tampilan menu konteks. Jalankan aplikasi dan kemudian klik-kanan
pada kotak teks pertama; Anda akan melihat menu konteks yang baru saja Anda
tambahkan, seperti ditunjukkan pada Gambar 7.9. Menu konteks yang sama
ditampilkan jika Anda mengklik kanan pada kotak teks kedua.
GAMBAR
7.9
13.Hentikan program Anda dan tukar ke
editor kode untuk form Anda sehingga Anda dapat menambahkan kode untuk menu
konteks. Prosedur pertama yang Anda akan tambahkan adalah untuk item menu
konteks Undo. Pilih ContextUndoToolStripMenuItem pada kotak
combo Class Name dan event Click
pada kotak combo Method Name dan tambahkan kode berikut:
Private Sub
ContextUndoToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles
ContextUndoToolStripMenuItem.Click
'Memanggil
prosedur UndoToolStripMenuItem_Click
UndoToolStripMenuItem_Click(sender, e)
End Sub
14.
Pilih ContextCutToolStripMenuItem pada kotak combo Class Name dan event Click pada kotak combo Method Name dan tambahkan kode berikut:
Private
Sub ContextCutToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles
ContextCutToolStripMenuItem.Click
'Memanggil prosedur
CutToolStripMenuItem_Click
CutToolStripMenuItem_Click(sender, e)
End
Sub
15.
Pilih ContextCopyToolStripMenuItem pada kotak combo Class Name dan event Click pada kotak combo Method Name dan tambahkan kode berikut:
Private
Sub ContextCopyToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles
ContextCopyToolStripMenuItem.Click
'Memanggil prosedur
CopyToolStripMenuItem_Click
CopyToolStripMenuItem_Click(sender, e)
End
Sub
16.
Pilih ContextPasteToolStripMenuItem pada kotak combo Class Name dan event Click pada kotak combo Method Name dan tambahkan kode berikut:
Private
Sub ContextPasteToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles
ContextPasteToolStripMenuItem.Click
'Memanggil prosedur PasteToolStripMenuItem_Click
PasteToolStripMenuItem_Click(sender, e)
End
Sub
17.
Terakhir, pilih ContextSelectAllToolStripMenuItem pada kotak combo Class Name dan event Click
pada kotak combo Method Name dan tambahkan kode berikut:
Private
Sub ContextSelectAllToolStripMenuItem_Click(sender As Object, e As EventArgs)
Handles
ContextSelectAllToolStripMenuItem.Click
'Memanggil prosedur
SelectAllToolStripMenuItem_Click
SelectAllToolStripMenuItem_Click(sender, e)
End
Sub
18.
Itulah semua kode yang perlu Anda
tambahkan untuk mengimplementasikan menu konteks Anda sendiri. Sekarang
jalankan projek Anda untuk melihat menu konteks Anda dan uji menu tersebut.
Anda dapat menguji menu konteks dengan mengklik setiap item pada menu konteks.
Setiap item pada menu konteks memiliki fungsionalitas yang sama dengan tombol
ekivalen pada toolbar dan sama dengan item menu Edit.
Penjelasan
ContextMenuStrip bekerja dengan cara yang sama dengan MenuStrip, dan Anda telah melihat bahwa
menciptakan sebuah menu konteks adalah perkara mudah.
Mengaktifkan dan Menonaktifkan Item Menu dan Tombol Toolbar
Setelah Anda mengimplementasikan
menu konteks dan membuatnya fungsional, Anda sekarang siap untuk menuliskan
kode untuk menyempurnakan fungsionalitasnya pada aplikasi Anda.
LATIHAN
|
Mengaktifkan dan Menonaktifkan Item Menu dan Tombol
Toolbar
|
Pada latihan ini, Anda akan
mengimplementasikan kode yang diperlukan untuk mengaktifkan dan menonaktifkan
item menu, item menu konteks, dan tombol toolbar.
1. Anda perlu menciptakan sebuah
prosedur yang dapat dipanggil untuk mentoggle semua item menu, tombol toolbar,
dan item menu konteks, yang mengaktifkan dan menonaktifkannya jika diperlukan.
Anda akan menamai prosedur ini dengan ToggleMenu,
jadi hentikan program Anda dan tambahkan prosedur berikut di akhir kode Anda:
Private
Sub ToggleMenu()
'Mendeklarasikan sebuah objek TextBox dan
menetapkannya menjadi ActiveControl
Dim
objTextBox As TextBox = CType(Me.ActiveControl, TextBox)
'Mendeklarasikan dan menetapkan sebuah
variabel Boolean
Dim blnAktif As Boolean =
CType(objTextBox.SelectionLength, Boolean)
'Mentoggle item-item menu Edit
UndoToolStripMenuItem.Enabled =
objTextBox.CanUndo
ContextUndoToolStripMenuItem.Enabled =
objTextBox.CanUndo
'Mentoggle tombol toolbar dan item-item
menu Cut
CutToolStripButton.Enabled = blnAktif
CutToolStripMenuItem.Enabled = blnAktif
ContextCutToolStripMenuItem.Enabled =
blnAktif
'Mentoggle tombol toolbar dan item-item
menu Copy
CopyToolStripButton.Enabled = blnAktif
CopyToolStripMenuItem.Enabled = blnAktif
ContextCopyToolStripMenuItem.Enabled
= blnAktif
'Mereset variabel blnAktif
blnAktif =
My.Computer.Clipboard.ContainsText
'Mentoggle
tombol toolbar dan item-item menu Paste
PasteToolStripButton.Enabled = blnAktif
PasteToolStripMenuItem.Enabled = blnAktif
ContextPasteToolStripMenuItem.Enabled =
blnAktif
'Mereset variabel blnAktif
If objTextBox.SelectionLength <
objTextBox.TextLength Then
blnAktif = True
Else
blnAktif = False
End If
'Mentoggle semua item menu Select All
SelectAllToolStripMenuItem.Enabled =
blnAktif
ContextSelectAllToolStripMenuItem.Enabled =
blnAktif
End
Sub
2. Kembali ke mode design dan cari
kontrol Timer pada jendela Toolbox. Geret kontrol ini dan
tempatkan pada form Anda, dimana ia akan diposisikan ke bawah form. Pada
jendela Properties, tetapkan
properti Enabled menjadi True dan properti Interval menjadi 250.
3. Klik ganda pada kontrol Timer yang ada di bawah form untuk
menciptakan event handler Tick dan
tambahkan kode berikut:
Private Sub
Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
'Mentoggle
toolbar dan item-item menu
ToggleMenu()
End Sub
4. Jalankan aplikasi Anda lagi. Setelah
form ditampilkan, klik pada kotak teks pertama dan masukkan teks tertentu.
Kemudian, klik kanan pada kotak teks tersebut untuk menampilkan menu konteks.
Sekarang menu konteks akan memiliki sejumlah item menu diaktifkan, seperti
ditunjukkan pada Gambar 7.10, seperti pada tombol-tombol toolbar dan item-item
menu Edit.
GAMBAR
7.10
Penjelasan
Hal pertama yang Anda
lakukan pada prosedur ToggleMenu
adalah mendeklarasikan sebuah objek dan menetapkannya sama dengan kontrol TextBox aktif:
'Mendeklarasikan
sebuah objek TextBox dan menetapkannya menjadi ActiveControl
Dim objTextBox As TextBox = CType(Me.ActiveControl,
TextBox)
Selanjutnya, Anda
mendeklarasikan sebuah variabel Boolean
yang akan dipakai untuk menentukan apakah sebuah properti akan ditetapkan True atau False, dan awalnya menetapkannya berdasarkan pada properti SelectionLength dari kotak teks aktif.
Properti SelectionLength
menghasilkan banyak karakter yang diseleksi pada sebuah kotak teks. Anda dapat
menggunakan nilai ini untuk berperan sebagai sebuah nilai True atau False karena
sebuah nilai False pada Visual Basic
adalah nol dan sebuah nilai True
adalah satu. Karena nilai False
selalu dievaluasi lebih dahulu, sembarang nilai selain nol akan dievaluasi True.
Agar ini terjadi, Anda
perlu mengkonversi properti SelectionLength
dari sebuah tipe data Integer menjadi sebuah tipe data Boolean menggunakan fungsi CType,
seperti ditunjukkan di sini:
'Mendeklarasikan
dan menetapkan sebuah variabel Boolean
Dim blnAktif As Boolean =
CType(objTextBox.SelectionLength, Boolean)
Item menu Edit pertama adalah Undo, jadi Anda mengawalinya dari item
tersebut. Kelas TextBox memiliki sebuah properti dengan nama CanUndo, yang menghasilkan sebuah nilai
True atau False, yang mengindikasikan apakah operasi terakhir yang dilakukan
pada kotak teks dapat dibatalkan atau tidak.
Anda menggunakan properti
CanUndo untuk menetapkan properti Enabled dari item menu Edit. Properti Enabled ditetapkan menggunakan sebuah nilai Boolean, karena properti CanUndo
menghasilkan sebuah nilai Boolean. Kode berikut menunjukkan pada Anda bagaimana
menetapkan properti Enabled dari
item menu dan item menu konteks Undo:
'Mentoggle
item-item menu Edit
UndoToolStripMenuItem.Enabled
= objTextBox.CanUndo
ContextUndoToolStripMenuItem.Enabled =
objTextBox.CanUndo
Item menu selanjutnya
pada menu Edit adalah item menu Cut. Anda telah menetapkan variabel blnAktif, sehingga kode berikut hanya
menggunakan nilai yang dimuatnya untuk menetapkan variabel properti Enabled dari item menu, tombol toolbar,
dan item menu konteks Cut:
'Mentoggle tombol
toolbar dan item-item menu Cut
CutToolStripButton.Enabled
= blnAktif
CutToolStripMenuItem.Enabled
= blnAktif
ContextCutToolStripMenuItem.Enabled = blnAktif
Item menu berikutnya pada
menu Edit adalah item menu Copy. Lagi, Anda menggunakan variabel blnAktif untuk menetapkan properti Enabled:
'Mentoggle tombol
toolbar dan item-item menu Copy
CopyToolStripButton.Enabled
= blnAktif
CopyToolStripMenuItem.Enabled
= blnAktif
ContextCopyToolStripMenuItem.Enabled = blnAktif
Item menu selanjutnya
pada menu Edit adalah item menu Paste. Penetapan properti Enabled dari item menu ini memerlukan
kerja ekstra. Anda memeriksa properti ContainsText
dari objek My.Computer.Clipboard
untuk menerima sebuah nilai Boolean
yang mengindikasikan apakah Clipboard
memuat sembarang teks. Anda kemudian menetapkan nilai Boolean itu di dalam variabel blnAktif,
yangdipakai untuk menetapkan properti Enabled
dari tombol toolbar Paste, item menu
Paste, dan item menu konteks Paste, seperti ditunjukkan pada kode
berikut:
'Mereset variabel
blnAktif
blnAktif =
My.Computer.Clipboard.ContainsText
'Mentoggle tombol
toolbar dan item-item menu Paste
PasteToolStripButton.Enabled
= blnAktif
PasteToolStripMenuItem.Enabled
= blnAktif
ContextPasteToolStripMenuItem.Enabled = blnAktif
Item menu Edit terakhir adalah item menu Select All. Anda sekali lagi menggunakan properti SelectionLength untuk menentukan apakah ada teks yang diseleksi.
Jika properti SelectionLength
bernilai kurang dari properti TextLength,
Anda menetapkan variabel blnAktif
menjadi True; jika tidak, Anda
menetapkannya False. Setelah
variabel blnAktif telah ditetapkan,
Anda menggunakan variabel itu untuk menetapkan properti Enabled dari item menu Select
All dan item menu konteks Select All:
'Mereset
variabel blnAktif
If
objTextBox.SelectionLength < objTextBox.TextLength Then
blnAktif = True
Else
blnAktif = False
End
If
'Mentoggle
semua item menu Select All
SelectAllToolStripMenuItem.Enabled
= blnAktif
ContextSelectAllToolStripMenuItem.Enabled
= blnAktif
Untuk mengaktifkan dan
menonaktifkan item menu, item menu konteks, dan tombol toolbar, Anda perlu
memanggil prosedur ToggleMenu.
Tempat terbaik untuk melakukannya adalah event Tick dari kontrol Timer
yang Anda tempatkan pada form. Event Tick
dipicu menggunakan properti Interval
yang Anda tetapkan sebesar 250. Properti Interval
diekspresikan dalam milidetik, dimana 1000 milidetik sama dengan 1 detik. Jadi,
event Tick dari kontrol Timer akan dipicu untuk setiap
seperempat detik:
Private Sub
Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
'Mentoggle toolbar dan item-item menu
ToggleMenu()
End Sub
No comments:
Post a Comment