Fungsi ModifyMenuA (winuser.h)
Mengubah item menu yang sudah ada. Fungsi ini digunakan untuk menentukan konten, tampilan, dan perilaku item menu.
BOOL ModifyMenuA(
[in] HMENU hMnu,
[in] UINT uPosition,
[in] UINT uFlags,
[in] UINT_PTR uIDNewItem,
[in, optional] LPCSTR lpNewItem
);
[in] hMnu
Jenis: HMENU
Handel ke menu yang akan diubah.
[in] uPosition
Jenis: UINT
Item menu yang akan diubah, seperti yang ditentukan oleh parameter
[in] uFlags
Jenis: UINT
Mengontrol interpretasi parameter uPosisi
Parameter juga harus menyertakan setidaknya salah satu nilai berikut.
Nilai | Arti |
---|---|
|
Menggunakan bitmap sebagai item menu. Parameter lpNewItem |
|
Menempatkan tanda centang di samping item. Jika aplikasi Anda menyediakan bitmap tanda centang (lihat fungsi SetMenuItemBitmaps |
|
Menonaktifkan item menu sehingga tidak dapat dipilih, tetapi bendera ini tidak berwarna abu-abu. |
|
Mengaktifkan item menu sehingga dapat dipilih dan memulihkannya dari status abu-abu. |
|
Menon-fungsikan item menu dan berwarna abu-abu sehingga tidak dapat dipilih. |
|
Fungsinya sama dengan bendera MF_MENUBREAK untuk bilah menu. Untuk menu drop-down, submenu, atau menu pintasan, kolom baru dipisahkan dari kolom lama dengan garis vertikal. |
|
Tempatkan item pada baris baru (untuk bilah menu) atau di kolom baru (untuk menu drop-down, submenu, atau menu pintasan) tanpa memisahkan kolom. |
|
Menentukan bahwa item adalah item yang digambar pemilik. Sebelum menu ditampilkan untuk pertama kalinya, jendela yang memiliki menu menerima pesan WM_MEASUREITEM untuk mengambil lebar dan tinggi item menu. Pesan WM_DRAWITEM kemudian dikirim ke prosedur jendela jendela pemilik setiap kali tampilan item menu harus diperbarui. |
|
Menentukan bahwa item menu membuka menu drop-down atau submenu. Parameter uIDNewItem |
|
Menggambar garis pembagian horizontal. Bendera ini hanya digunakan di menu drop-down, submenu, atau menu pintasan. Garis tidak dapat berwarna abu-abu, dinonaktifkan, atau disorot. Parameter lpNewItem dan uIDNewItem diabaikan. |
|
Menentukan bahwa item menu adalah string teks; parameter lpNewItem |
|
Tidak menempatkan tanda centang di samping item (default). Jika aplikasi Anda menyediakan bitmap tanda centang (lihat fungsi SetMenuItemBitmaps), bendera ini menampilkan bitmap yang jelas di samping item menu. |
[in] uIDNewItem
Jenis: UINT_PTR
Pengidentifikasi item menu yang dimodifikasi atau, jika parameter
[in, optional] lpNewItem
Jenis:
Isi item menu yang diubah. Interpretasi parameter ini tergantung pada apakah parameter
Jenis: BOOL
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.
Jika ModifikasiMenu mengganti item menu yang membuka menu drop-down atau submenu, fungsi akan menghancurkan menu drop-down lama atau submenu dan membebaskan memori yang digunakan olehnya.
Agar akselerator keyboard dapat bekerja dengan bitmap atau item menu yang digambar pemilik, pemilik menu harus memproses pesan WM_MENUCHAR. Lihat Menu Owner-Drawn dan Pesan WM_MENUCHAR untuk informasi selengkapnya.
Aplikasi harus memanggil fungsi
Grup bendera berikut tidak dapat digunakan bersama-sama:
- MF_BYCOMMAND dan MF_BYPOSITION
- MF_DISABLED, MF_ENABLED, dan MF_GRAYED
- MF_BITMAP, MF_STRING, MF_OWNERDRAW, dan MF_SEPARATOR
- MF_MENUBARBREAK dan MF_MENUBREAK
- MF_CHECKED dan MF_UNCHECKED
Misalnya, lihat Pengaturan Font untuk Menu-Item String Teks.
Catatan
Header winuser.h mendefinisikan ModifyMenu sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedur 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.
Syarat | Nilai |
---|---|
klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
Platform Target |
Windows |
Header |
winuser.h (termasuk Windows.h) |
Pustaka |
User32.lib |
DLL |
User32.dll |
set API |
ext-ms-win-ntuser-menu-l1-1-3 (diperkenalkan di Windows 10, versi 10.0.14393) |
CheckMenuItem
Konseptual
Menu
Referensi
SetMenuItemBitmaps
SetMenuItemInfo