ModifyMenu функція змінюється наявний елемент меню. Ця функція використовується для визначення вмісту, зовнішній вигляд і поведінку пункту меню.
ModifyMenu функція була замінена SetMenuItemInfo функції. Ви можете використовувати ModifyMenu, однак, якщо вам не потрібна, розширені функції SetMenuItemInfo.
(BOOL ModifyMenu HMENU hMnu, / / ручка, менюUINTuPosition, / / меню пункт ЗмінитиUINTuFlags, / / елемент меню прапориUINTuIDNewItem, / / меню пункту ідентифікатор або впоратися зі списком / / меню або підменю.LPCTSTRlpNewItem / / меню елемент змісту);
| Значення | Значення |
|---|---|
| MF_BYCOMMAND | Вказує на те, що uPosition параметр дає ідентифікатор пункту меню. MF_BYCOMMAND прапор використовується за замовчуванням, якщо вказано ні MF_BYCOMMAND, ні MF_BYPOSITION прапор. |
| MF_BYPOSITION | Вказує на те, що uPosition параметр дає COLUMN відносне розташування елемента меню. |
| Значення | Значення |
|---|---|
| MF_BITMAP | Містить ручку крапковий малюнок. |
| MF_OWNERDRAW | Містить значення 32-розрядні поставляється застосунок, який використовується для підтримки додаткові дані, пов'язані з пункту меню. Має значення в itemData член структури вказаний параметр lparam WM_MEASUREITEM або WM_DRAWITEM повідомлень, які надсилаються, коли створюється елемент меню або оновлення його зовнішній вигляд. |
| MF_STRING | Містить вказівник на нульовим закінченням (за замовчуванням). |
Якщо функція завершено успішно, значення, що повертається, є ненульовим.
Якщо функцію не вдається, значення дорівнює нулю. Щоб отримати розширених відомостей помилку, зателефонуйте GetLastError.
Якщо ModifyMenu замінює меню елемент, який відкриває спадне меню або підменю, функція руйнує старі розкривного меню або підменю та звільняє пам'ять, що використовується на його.
Щоб клавіатура корисних можливостей для роботи з крапковий малюнок або пункти меню власник звертається власник меню необхідно обробити повідомлення WM_MENUCHAR. Переглянути меню Owner-Drawn та WM_MENUCHAR повідомлення для отримання додаткових відомостей.
Застосування повинні викликати функцію DrawMenuBar кожного разу, коли меню зміни, або ні, мене це відображається вікно. Щоб змінити атрибути існуючих пунктів меню, це набагато швидше, для використання функції CheckMenuItem і EnableMenuItem.
У наступному списку описуються прапори, які можуть бути встановлені в параметрі uFlags:
| Значення | Значення |
|---|---|
| MF_BITMAP | Використовує крапковий малюнок як елемент меню. LpNewItem параметр містить маркер, щоб малюнка. |
| MF_BYCOMMAND | Вказує на те, що параметр uPosition визначає ідентифікатор елемента меню (за замовчуванням). |
| MF_BYPOSITION | Вказує на те, що параметр uPosition визначає COLUMN відносне розташування новий пункт меню. |
| MF_CHECKED | Встановлює прапорець поруч з елементом. Якщо ваше додаток забезпечує галочка крапкові малюнки (див. SetMenuItemBitmaps функція), цей прапор відображає перевірили точковий рисунок поруч із елементом меню. |
| MF_DISABLED | Вимикає елемент меню, так що його не вибрано, але цей прапор це не сірою. |
| MF_ENABLED | Дозволяє елемент меню, так що його можна вибрати та відновлює його від його затінена державою. |
| MF_GRAYED | Вимикає пункту меню і grays його, так що це не можна вибрати. |
| MF_MENUBARBREAK | Функції ж, як на MF_MENUBREAK позначення для рядка меню. Розкривне меню, підменю або контекстне меню новий стовпець відокремлюються від старого стовпця вертикальна лінія. |
| MF_MENUBREAK | Розташовує елемент на новий рядок (для рядків меню) або в новому стовпці (для розкривного меню, підменю або контекстне меню) без поділу стовпців. |
| MF_OWNERDRAW | Визначає, що елемент — це елемент, власник звертається. Перш ніж в перший раз відображення меню, вікна, що володіє меню отримує повідомлення WM_MEASUREITEM отримати ширину та висоту пункту меню. WM_DRAWITEM повідомлення потім відправляється до процедури вікна вікна власник кожного разу, коли необхідно оновити зовнішній вигляд пункт меню. |
| MF_POPUP | Вказує, що пункт меню відкриває спадне меню або підменю. Параметр uIDNewItem визначає маркер, щоб розкривного меню або підменю. Цей прапор використовується, щоб додати ім'я меню в рядку меню або елемент меню, який відкриває вкладене меню для розкривного меню, підменю або контекстне меню. |
| MF_SEPARATOR | Малювання горизонтальних розділової лінією. Цей прапор використовується тільки в розкривному меню, підменю або контекстне меню. Сірим кольором, вимкнуто або виділені лінії неможливо. LpNewItem і uIDNewItem параметри ігноруються. |
| MF_STRING | Вказує, що пункт меню — це текстовий рядок; параметр lpNewItem вказує на рядок. |
| MF_UNCHECKED | Не встановіть прапорець поруч із елементом (за замовчуванням). Якщо вашого застосування поставок галочка крапкові малюнки (див. SetMenuItemBitmaps функція), цей прапор відображає безперешкодно бітових поруч із елементом меню. |
Такі групи прапори не може використовуватися разом:
Огляд меню, меню функцій, AppendMenu, CheckMenuItem, DrawMenuBar, EnableMenuItem, SetMenuItemBitmaps, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM