ModifyMenu

ModifyMenu функція змінюється наявний елемент меню. Ця функція використовується для визначення вмісту, зовнішній вигляд і поведінку пункту меню.

ModifyMenu функція була замінена SetMenuItemInfo функції. Ви можете використовувати ModifyMenu, однак, якщо вам не потрібна, розширені функції SetMenuItemInfo.

(BOOL ModifyMenu HMENU  hMnu, / / ручка, менюUINTuPosition, / / меню пункт ЗмінитиUINTuFlags, / / елемент меню прапориUINTuIDNewItem, / / меню пункту ідентифікатор або впоратися зі списком / / меню або підменю.LPCTSTRlpNewItem / / меню елемент змісту);
 

Параметри

hMnu
Обробляти до меню, щоб змінити.
uPosition
Вказує елемент меню, щоб змінити, як визначається параметром uFlags.
uFlags
Визначає позначки, які контролюють тлумачення параметра uPosition і змісту, вигляд і поведінку пункту меню. Цей параметр має бути одним з таких необхідних значень та принаймні одне значення, наведені в цьому розділі зауваження.
Значення Значення
MF_BYCOMMAND Вказує на те, що uPosition параметр дає ідентифікатор пункту меню. MF_BYCOMMAND прапор використовується за замовчуванням, якщо вказано ні MF_BYCOMMAND, ні MF_BYPOSITION прапор.
MF_BYPOSITION Вказує на те, що uPosition параметр дає COLUMN відносне розташування елемента меню.

uIDNewItem
Визначає ідентифікатор змінений меню, або якщо параметр uFlags має прапор MF_POPUP встановити, маркер, щоб розкривного меню або підменю.
lpNewItem
Вказівник на зміст пункту меню змінилося. Тлумачення цього параметра залежить від того, чи uFlags параметр включає MF_BITMAP, MF_OWNERDRAW або MF_STRING прапор.
Значення Значення
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

Index