Struktur MENUITEMINFOA (winuser.h)

Berisi informasi tentang item menu.

Sintaks

typedef struct tagMENUITEMINFOA {
  UINT      cbSize;
  UINT      fMask;
  UINT      fType;
  UINT      fState;
  UINT      wID;
  HMENU     hSubMenu;
  HBITMAP   hbmpChecked;
  HBITMAP   hbmpUnchecked;
  ULONG_PTR dwItemData;
  LPSTR     dwTypeData;
  UINT      cch;
  HBITMAP   hbmpItem;
} MENUITEMINFOA, *LPMENUITEMINFOA;

Anggota

cbSize

Jenis: UINT

Ukuran struktur, dalam byte. Pemanggil harus mengatur anggota ini ke sizeof(MENUITEMINFO).

fMask

Jenis: UINT

Menunjukkan anggota yang akan diambil atau diatur. Anggota ini bisa menjadi satu atau beberapa nilai berikut.

Nilai Makna
MIIM_BITMAP
0x00000080
Mengambil atau mengatur anggota hbmpItem .
MIIM_CHECKMARKS
0x00000008
Mengambil atau mengatur anggota hbmpChecked dan hbmpUnchecked .
MIIM_DATA
0x00000020
Mengambil atau mengatur anggota dwItemData .
MIIM_FTYPE
0x00000100
Mengambil atau mengatur anggota fType .
MIIM_ID
0x00000002
Mengambil atau mengatur anggota wID .
MIIM_STATE
0x00000001
Mengambil atau mengatur anggota fState .
MIIM_STRING
0x00000040
Mengambil atau mengatur anggota dwTypeData .
MIIM_SUBMENU
0x00000004
Mengambil atau mengatur anggota hSubMenu .
MIIM_TYPE
0x00000010
Mengambil atau mengatur anggota fType dan dwTypeData .

MIIM_TYPE digantikan oleh MIIM_BITMAP, MIIM_FTYPE, dan MIIM_STRING.

fType

Jenis: UINT

Jenis item menu. Anggota ini bisa menjadi satu atau beberapa nilai berikut.

Nilai MFT_BITMAP, MFT_SEPARATOR, dan MFT_STRING tidak dapat digabungkan satu sama lain. Atur fMask ke MIIM_TYPE untuk menggunakan fType.

fType hanya digunakan jika fMask memiliki nilai MIIM_FTYPE.

Nilai Makna
MFT_BITMAP
0x00000004L
Menampilkan item menu menggunakan bitmap. Kata urutan rendah dari anggota dwTypeData adalah handel bitmap, dan anggota cch diabaikan.

MFT_BITMAP digantikan oleh MIIM_BITMAP dan hbmpItem.

MFT_MENUBARBREAK
0x00000020L
Places item menu pada baris baru (untuk bilah menu) atau di kolom baru (untuk menu drop-down, submenu, atau menu pintasan). Untuk menu drop-down, submenu, atau menu pintasan, garis vertikal memisahkan kolom baru dari yang lama.
MFT_MENUBREAK
0x00000040L
Places item menu pada baris baru (untuk bilah menu) atau di kolom baru (untuk menu drop-down, submenu, atau menu pintasan). Untuk menu drop-down, submenu, atau menu pintasan, kolom tidak dipisahkan oleh garis vertikal.
MFT_OWNERDRAW
0x00000100L
Menetapkan tanggung jawab untuk menggambar item menu ke jendela yang memiliki menu. Jendela menerima pesan WM_MEASUREITEM sebelum menu ditampilkan untuk pertama kalinya, dan pesan WM_DRAWITEM setiap kali tampilan item menu harus diperbarui. Jika nilai ini ditentukan, anggota dwTypeData berisi nilai yang ditentukan aplikasi.
MFT_RADIOCHECK
0x00000200L
Menampilkan item menu terpilih menggunakan tanda tombol radio alih-alih tanda centang jika anggota hbmpChecked adalah NULL.
MFT_RIGHTJUSTIFY
0x00004000L
Membenarkan kanan item menu dan item berikutnya. Nilai ini hanya valid jika item menu berada di bilah menu.
MFT_RIGHTORDER
0x00002000L
Menentukan bahwa menu bertingkat kanan-ke-kiri (defaultnya adalah kiri-ke-kanan). Ini digunakan untuk mendukung bahasa kanan-ke-kiri, seperti Arab dan Ibrani.
MFT_SEPARATOR
0x00000800L
Menentukan bahwa item menu adalah pemisah. Pemisah item menu muncul sebagai garis pembagian horizontal. Anggota dwTypeData dan cch diabaikan. Nilai ini hanya valid di menu drop-down, submenu, atau menu pintasan.
MFT_STRING
0x00000000L
Menampilkan item menu menggunakan string teks. Anggota dwTypeData adalah penunjuk ke string yang dihentikan null, dan anggota cch adalah panjang string.

MFT_STRING digantikan oleh MIIM_STRING.

fState

Jenis: UINT

Status item menu. Anggota ini bisa menjadi satu atau beberapa nilai ini. Atur fMask ke MIIM_STATE untuk menggunakan fState.

Nilai Makna
MFS_CHECKED
0x00000008L
Memeriksa item menu. Untuk informasi selengkapnya tentang item menu yang dipilih, lihat anggota hbmpChecked .
MFS_DEFAULT
0x00001000L
Menentukan bahwa item menu adalah default. Menu hanya dapat berisi satu item menu default, yang ditampilkan dalam huruf tebal.
MFS_DISABLED
0x00000003L
Nonaktifkan item menu dan abu-abu sehingga tidak dapat dipilih. Ini setara dengan MFS_GRAYED.
MFS_ENABLED
0x00000000L
Mengaktifkan item menu agar bisa dipilih. Ini adalah status default.
MFS_GRAYED
0x00000003L
Nonaktifkan item menu dan abu-abu sehingga tidak dapat dipilih. Ini setara dengan MFS_DISABLED.
MFS_HILITE
0x00000080L
Menyoroti item menu.
MFS_UNCHECKED
0x00000000L
Hapus centang item menu. Untuk informasi selengkapnya tentang item menu yang jelas, lihat anggota hbmpChecked .
MFS_UNHILITE
0x00000000L
Menghapus sorotan dari item menu. Ini adalah status default.

wID

Jenis: UINT

Nilai yang ditentukan aplikasi yang mengidentifikasi item menu. Atur fMask ke MIIM_ID untuk menggunakan wID.

hSubMenu

Jenis: HMENU

Handel ke menu drop-down atau submenu yang terkait dengan item menu. Jika item menu bukan item yang membuka menu drop-down atau submenu, anggota ini adalah NULL. Atur fMask ke MIIM_SUBMENU untuk menggunakan hSubMenu.

hbmpChecked

Jenis: HBITMAP

Handel ke bitmap untuk ditampilkan di samping item jika dipilih. Jika anggota ini NULL, bitmap default akan digunakan. Jika nilai jenis MFT_RADIOCHECK ditentukan, bitmap default adalah poin. Jika tidak, itu adalah tanda centang. Atur fMask ke MIIM_CHECKMARKS untuk menggunakan hbmpChecked.

hbmpUnchecked

Jenis: HBITMAP

Handel ke bitmap untuk ditampilkan di samping item jika tidak dipilih. Jika anggota ini NULL, tidak ada bitmap yang digunakan. Atur fMask ke MIIM_CHECKMARKS untuk menggunakan hbmpUnchecked.

dwItemData

Jenis: ULONG_PTR

Nilai yang ditentukan aplikasi yang terkait dengan item menu. Atur fMask ke MIIM_DATA untuk menggunakan dwItemData.

dwTypeData

Jenis: LPTSTR

Isi item menu. Arti anggota ini tergantung pada nilai fType dan hanya digunakan jika bendera MIIM_TYPE diatur dalam anggota fMask .

Untuk mengambil item menu jenis MFT_STRING, pertama-tama temukan ukuran string dengan mengatur anggota dwTypeDatamenuITEMINFO ke NULL lalu memanggil GetMenuItemInfo. Nilai cch+1 adalah ukuran yang diperlukan. Kemudian alokasikan buffer ukuran ini, letakkan pointer ke buffer di dwTypeData, tahapan cch, dan panggil GetMenuItemInfo sekali lagi untuk mengisi buffer dengan string. Jika item menu yang diambil dari beberapa jenis lain, maka GetMenuItemInfo mengatur anggota dwTypeData ke nilai yang jenisnya ditentukan oleh anggota fType .

Saat menggunakan dengan fungsi SetMenuItemInfo , anggota ini harus berisi nilai yang jenisnya ditentukan oleh anggota fType .

dwTypeData hanya digunakan jika bendera MIIM_STRING diatur di anggota fMask

cch

Jenis: UINT

Panjang teks item menu, dalam karakter, saat informasi diterima tentang item menu dari jenis MFT_STRING . Namun, cch hanya digunakan jika bendera MIIM_TYPE diatur dalam anggota fMask dan nol sebaliknya. Selain itu, cch diabaikan ketika konten item menu diatur dengan memanggil SetMenuItemInfo.

Perhatikan bahwa, sebelum memanggil GetMenuItemInfo, aplikasi harus mengatur cch ke panjang buffer yang diarahkan oleh anggota dwTypeData . Jika item menu yang diambil berjenis MFT_STRING (seperti yang ditunjukkan oleh anggota fType ), maka GetMenuItemInfo mengubah cch menjadi panjang teks item menu. Jika item menu yang diambil dari beberapa jenis lain, GetMenuItemInfo mengatur bidang cch ke nol.

Anggota cch digunakan ketika bendera MIIM_STRING diatur dalam anggota fMask .

hbmpItem

Jenis: HBITMAP

Handel ke bitmap yang akan ditampilkan, atau bisa menjadi salah satu nilai dalam tabel berikut. Ini digunakan ketika bendera MIIM_BITMAP diatur dalam anggota fMask .

Nilai Makna
HBMMENU_CALLBACK
((HBITMAP) -1)
Bitmap yang digambar oleh jendela yang memiliki menu. Aplikasi harus memproses pesan WM_MEASUREITEM dan WM_DRAWITEM .
HBMMENU_MBAR_CLOSE
((HBITMAP) 5)
Tombol Tutup untuk bilah menu.
HBMMENU_MBAR_CLOSE_D
((HBITMAP) 6)
Tombol tutup dinonaktifkan untuk bilah menu.
HBMMENU_MBAR_MINIMIZE
((HBITMAP) 3)
Tombol Minimalkan untuk bilah menu.
HBMMENU_MBAR_MINIMIZE_D
((HBITMAP) 7)
Tombol minimalkan untuk bilah menu dinonaktifkan.
HBMMENU_MBAR_RESTORE
((HBITMAP) 2)
Tombol Pulihkan untuk bilah menu.
HBMMENU_POPUP_CLOSE
((HBITMAP) 8)
Tombol Tutup untuk submenu.
HBMMENU_POPUP_MAXIMIZE
((HBITMAP) 10)
Tombol Maksimalkan untuk submenu.
HBMMENU_POPUP_MINIMIZE
((HBITMAP) 11)
Tombol Minimalkan untuk submenu.
HBMMENU_POPUP_RESTORE
((HBITMAP) 9)
Tombol Pulihkan untuk submenu.
HBMMENU_SYSTEM
((HBITMAP) 1)
Ikon Windows atau ikon jendela yang ditentukan dalam dwItemData.

Keterangan

Struktur MENUITEMINFO digunakan dengan fungsi GetMenuItemInfo, InsertMenuItem, dan SetMenuItemInfo .

Menu dapat menampilkan item menggunakan teks, bitmap, atau keduanya.

Catatan

Header winuser.h mendefinisikan MENUITEMINFO sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header winuser.h (sertakan Windows.h)

Lihat juga

Konseptual

GetMenuItemInfo

InsertMenuItem

Menu

Referensi

SetMenuItemInfo

WM_DRAWITEM

WM_MEASUREITEM