CMenu::ModifyMenu

BOOL ModifyMenu ( UINT nPosition, UINT nFlags, UINT nIDNewItem = 0, LPCTSTR lpszNewItem = NULL );

BOOL ModifyMenu ( UINT nPosition, UINT nFlags, UINT nIDNewItem, const CBitmap * pBmp );

Возвращаемое значение

Ненулевое значение, если функция выполнена успешно; в противном случае 0.

Параметры

nPosition

Указывает пункт меню, чтобы изменить. Параметр nFlags может использоваться для интерпретации nPosition следующими способами:

nFlags Интерпретация nPosition
MF_BYCOMMAND Указывает, что параметр дает Идентификатор команды существующего пункта меню. Это значение по умолчанию, если ни 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