Fungsi GetMenuState (winuser.h)
Mengambil bendera menu yang terkait dengan item menu yang ditentukan. Jika item menu membuka submenu, fungsi ini juga mengembalikan jumlah item dalam submenu.
Sintaks
UINT GetMenuState(
[in] HMENU hMenu,
[in] UINT uId,
[in] UINT uFlags
);
Parameter
[in] hMenu
Jenis: HMENU
Handel ke menu yang berisi item menu yang benderanya akan diambil.
[in] uId
Jenis: UINT
Item menu tempat bendera menu akan diambil, seperti yang ditentukan oleh parameter uFlags .
[in] uFlags
Jenis: UINT
Menunjukkan bagaimana parameter uId ditafsirkan. Parameter ini bisa menjadi salah satu nilai berikut.
Mengembalikan nilai
Jenis: UINT
Jika item yang ditentukan tidak ada, nilai yang dikembalikan adalah -1.
Jika item menu membuka submenu, byte urutan rendah dari nilai pengembalian berisi bendera menu yang terkait dengan item, dan byte urutan tinggi berisi jumlah item dalam submenu yang dibuka oleh item.
Jika tidak, nilai yang dikembalikan adalah mask (Bitwise OR) dari bendera menu. Berikut ini adalah bendera menu yang terkait dengan item menu.
Mengembalikan kode/nilai | Deskripsi |
---|---|
|
Tanda centang ditempatkan di samping item (hanya untuk menu drop-down, submenus, dan menu pintasan). |
|
Item dinonaktifkan. |
|
Item dinonaktifkan dan berwarna abu-abu. |
|
Item disorot. |
|
Ini sama dengan bendera MF_MENUBREAK , kecuali untuk menu drop-down, submenus, dan menu pintasan, di mana kolom baru dipisahkan dari kolom lama dengan garis vertikal. |
|
Item ditempatkan pada baris baru (untuk bilah menu) atau di kolom baru (untuk menu drop-down, submenus, dan menu pintasan) tanpa memisahkan kolom. |
|
Item digambar pemilik. |
|
Item menu adalah submenu. |
|
Ada garis pembagian horizontal (hanya untuk menu drop-down, submenus, dan menu pintasan). |
Keterangan
Dimungkinkan untuk menguji item untuk nilai bendera MF_ENABLED, MF_STRING, MF_UNCHECKED, atau MF_UNHILITE. Namun, karena nilai-nilai ini sama dengan nol, Anda harus menggunakan ekspresi untuk mengujinya.
Bendera | Ekspresi untuk menguji bendera |
---|---|
MF_ENABLED | ! (Flag&(MF_DISABLED | MF_GRAYED)) |
MF_STRING | ! (Flag&(MF_BITMAP | MF_OWNERDRAW)) |
MF_UNCHECKED | ! (Flag&MF_CHECKED) |
MF_UNHILITE | ! (Flag&HILITE) |
Contoh
Misalnya, lihat Mensimulasikan Kotak Centang di Menu.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winuser.h (sertakan Windows.h) |
Pustaka | User32.lib |
DLL | User32.dll |
Set API | ext-ms-win-ntuser-menu-l1-1-2 (diperkenalkan dalam Windows 10, versi 10.0.10240) |
Lihat juga
Konseptual
Referensi