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