CMenu::ModifyMenu

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

Index