Elemen menu

Menentukan satu item menu. Ini adalah enam jenis menu: Context, Menu, MenuController, MenuControllerLatched, Toolbar, dan ToolWindowToolbar.

Sintaks

<Menu guid="guidMyCommandSet" id="MyCommand" priority="0x100" type="button">
  <Parent>... </Parent>
  <CommandFlag>... </CommandFlag>
  <Strings>... </Strings>
</Menu>

Atribut dan elemen

Bagian berikut menjelaskan atribut, elemen turunan, dan elemen induk.

Atribut

Atribut Deskripsi
guid Harus diisi. GUID pengidentifikasi perintah GUID/ID.
id Harus diisi. ID pengidentifikasi perintah GUID/ID.
prioritas Opsional. Nilai numerik yang menentukan posisi relatif menu dalam sekelompok menu.
toolbarPriorityInBand Opsional. Nilai numerik yang menentukan posisi relatif toolbar dalam pita saat jendela ditampung.
jenis Opsional. Nilai enumerasi yang menentukan jenis elemen.

Jika tidak ada, jenis defaultnya adalah Menu.

Konteks
Menu pintasan yang ditampilkan saat pengguna mengklik kanan jendela. Menu pintasan memiliki karakteristik berikut:

- Tidak menggunakan bidang Induk dan Prioritas saat menu akan ditampilkan sebagai menu pintasan.
- Dapat digunakan sebagai submenu dan juga sebagai menu pintasan. Dalam hal ini, bidang ID Grup dan Prioritas dihormati.
- Apakah tidak selalu tersedia.

Menu pintasan ditampilkan hanya jika kondisi berikut ini benar:

- Jendela yang menghostingnya ditampilkan.
- Handler mouse di VSPackage mendeteksi klik kanan pada jendela dan kemudian memanggil metode yang menangani perintah.
- Menu pintasan ditampilkan dengan memanggil ShowContextMenu metode (pendekatan yang disarankan) atau ShowContextMenu metode .

Menu
Menyediakan menu drop-down. Menu drop-down memiliki karakteristik berikut:

- Menghormati Induk dalam definisinya.
- Harus memiliki grup Induk, atau CommandPlacement ke grup.
- Bisa menjadi submenu dalam jenis menu lainnya.
- Secara otomatis ditampilkan setiap kali menu induknya ditampilkan.
- Tidak memerlukan implementasi kode VSPackage apa pun untuk membuatnya ditampilkan.

MenuKontrol
Menyediakan menu drop-down tombol terpisah, yang biasanya digunakan dalam toolbar. Menu MenuController memiliki karakteristik berikut:

- Harus terkandung dalam menu lain melalui Parent atau CommandPlacement.
- Menghormati Induk dalam definisinya.
- Dapat memiliki segala jenis menu sebagai induknya.
- Secara otomatis tersedia setiap kali menu induknya ditampilkan.
- Tidak memerlukan dukungan terprogram untuk membuat menu ditampilkan.

Perintah dari menu tombol terpisah ditampilkan pada tombol menu. Perintah yang ditampilkan memiliki salah satu karakteristik berikut:

- Ini adalah perintah terakhir yang digunakan jika perintah masih ditampilkan dan diaktifkan.
- Ini adalah perintah pertama yang ditampilkan.

MenuControllerLatched
Menyediakan menu drop-down tombol terpisah yang perintahnya dapat ditentukan sebagai pilihan default dengan menandai perintah sebagai kait.

Perintah tertaut adalah perintah yang ditandai di menu sebagai dipilih, biasanya dengan menampilkan tanda centang. Perintah dapat ditandai sebagai kait jika memiliki bendera OLECMDF_LATCHED yang diatur di atasnya dalam implementasi QueryStatus metode IOleCommandTarget antarmuka. Menu MenuControllerLatched memiliki karakteristik berikut:

- Harus terkandung dalam menu lain melalui grup Induk atau CommandPlacement.
- Menghormati Induk dalam definisinya.
- Dapat memiliki segala jenis menu sebagai induknya.
- Tersedia setiap kali menu induknya ditampilkan.
- Tidak memerlukan dukungan terprogram untuk membuat menu ditampilkan.

Perintah dari menu tombol terpisah ditampilkan pada tombol menu. Perintah yang ditampilkan memiliki salah satu karakteristik berikut:

- Ini adalah perintah pertama yang ditampilkan yang dikaitkan.
- Ini adalah perintah pertama yang ditampilkan.

Toolbar
Menyediakan bilah alat. Toolbar memiliki karakteristik berikut:

- Mengabaikan Induk dalam definisinya.
- Tidak dapat dibuat submenu dari grup apa pun, bahkan dengan menggunakan CommandPlacement.
- Selalu dapat ditampilkan dengan mengklik Toolbar pada menu Tampilan .
- Dapat ditampilkan dengan menggunakan VisibilityItem.
- Tidak memerlukan kode apa pun untuk membuatnya. Untuk contoh tentang cara membuat toolbar, lihat Menambahkan toolbar.

ToolWindowToolbar
Menyediakan toolbar yang dilampirkan ke jendela alat tertentu, sama seperti toolbar yang dilampirkan ke lingkungan pengembangan.

- Mengabaikan Induk dalam definisinya.
- Tidak dapat dibuat submenu dari grup apa pun, bahkan dengan menggunakan CommandPlacement.
- Ditampilkan hanya ketika jendela alat yang menghosting toolbar ditampilkan dan VSPackage secara eksplisit menambahkan toolbar ke jendela alat. Ini biasanya dilakukan ketika jendela alat dibuat dengan mendapatkan properti host toolbar (seperti yang diwakili oleh IVsToolWindowToolbarHost antarmuka) dari bingkai jendela alat dan kemudian memanggil AddToolbar metode .
Kondisi Opsional. Lihat Atribut bersyarah.

Elemen anak

Elemen Deskripsi
Parent Opsional. Elemen induk item menu.
CommandFlag Harus diisi. Lihat Elemen bendera perintah. Nilai CommandFlag yang valid untuk Menu adalah sebagai berikut:

- AlwaysCreate
- DefaultDocked
- DefaultInvisible - Bendera ini tidak memengaruhi tampilan bilah alat.
- DontCache
- DynamicVisibility - Bendera ini tidak memengaruhi tampilan toolbar.
- IconAndText
- NoCustomize
- NotInTBList
- NoToolbarClose
- TextChanges
- TextIsAnchorCommand
String Harus diisi. Lihat elemen String. Elemen turunan ButtonText harus didefinisikan.
Anotasi Komentar opsional.

Elemen induk

Elemen Deskripsi
Elemen Menu Menentukan semua menu yang diterapkan VSPackage.

Contoh

<Menu guid="cmdGuidWidgetCommands" id="menuIDEditWidget"
  priority="0x0002" type="Menu">
  <Parent guid="cmdSetGuidWidgetCommands" id="groupIDFileEdit"/>
  <CommandFlag>AlwaysCreate</CommandFlag>
  <Strings>
    <ButtonText>Edit Widget</ButtonText>
  </Strings>
</Menu>

Baca juga