BOOL ModifyMenu ( UINT nPosition, UINT nFlags, UINT nIDNewItem = 0, LPCTSTR lpszNewItem = NULL );
BOOL ModifyMenu ( UINT nPosition, UINT nFlags, UINT nIDNewItem, константа CBitmap * pBmp );
Значення, яке повертається
Ненульовий, якщо функція успішно; в іншому випадку 0.
Параметри
nPosition
Вказує елемент меню, щоб змінити. Параметр nFlags можуть бути використані для інтерпретації nPosition таким чином:
| nFlags | Тлумачення nPosition |
| MF_BYCOMMAND | Визначає, що параметр дає команди ID існуючий пункт меню. Це за замовчуванням, якщо ні MF_BYCOMMAND , ні MF_BYPOSITION. |
| MF_BYPOSITION | Визначає, що параметр дає позиції існуючий пункт меню. Перший елемент, що знаходиться на позиції 0. |
nFlags
Визначає, як інтерпретувати nPosition і дає інформацію про зміни повинні бути зроблені в меню пункт. Переглянути список прапорів, які можуть бути встановлені, AppendMenu член функції.
nIDNewItem
Визначає або команду код змінені меню елемента або, якщо nFlags MF_POPUP, дескриптор меню (HMENU) з контекстне меню. NIDNewItem параметра ігнорується (не потрібні), якщо nFlags MF_SEPARATOR.
lpszNewItem
Визначає вміст новий пункт меню. Параметр nFlags можуть бути використані для інтерпретації lpszNewItem таким чином:
| nFlags | Тлумачення lpszNewItem |
| MF_OWNERDRAW | Містить надається в застосунку 32-бітні значення, програму можна використовувати для підтримки додаткові дані, пов'язані з пункту меню. Це 32-бітні значення, доступні для застосування, коли вона обробляє, MF_MEASUREITEM та MF_DRAWITEM. |
| MF_STRING | Містить довгий вказівник на рядок або CString. |
| MF_SEPARATOR | LpszNewItem параметра ігнорується (не потрібно). |
pBmp
Пункту до CBitmap об'єкт, який буде використовуватися як пункт меню.
Зауваження
Змінення наявного елемента меню в позиції, яку вказано на nPosition. Програма визначає новий стан елемент меню, встановивши значення в nFlags. Якщо ця функція замінює спливаючого меню, пов'язаного з пункту меню, вона руйнує старі спливаючого меню і звільняє пам'ять, що використовується у спливаючому меню.
Коли nIDNewItem визначає спливаючого меню, стає частиною меню, в яких його вставлено. Якщо меню знищено, вставлений меню також бути знищені. Вставлений меню повинні відірвані від CMenu об'єкт, щоб уникнути конфліктів.
Кожного разу, коли змінюється меню, що знаходиться у вікні (або не відображається у вікні), додаток слід викликати CWnd::DrawMenuBar. Щоб змінити атрибути існуючих пунктів меню, це набагато швидше, використовувати методи CheckMenuItem та EnableMenuItem.
Огляд CMenu |nbsp; Члени класу | Ієрархічна діаграма
Дивіться такожnbsp;CMenu::AppendMenu, CMenu::InsertMenu, CMenu::CheckMenuItem, CWnd::DrawMenuBar, CMenu::EnableMenuItem, CMenu::SetMenuItemBitmaps, CMenu::Detach, :: ModifyMenu