Поделиться через


CMenu::AppendMenu

Добавляет новый элемент в конец меню.

BOOL AppendMenu( 
   UINT nFlags, 
   UINT_PTR nIDNewItem = 0, 
   LPCTSTR lpszNewItem = NULL  
); 
BOOL AppendMenu( 
   UINT nFlags, 
   UINT_PTR nIDNewItem, 
   const CBitmap* pBmp  
);

Параметры

  • nFlags
    Указывает сведения о состоянии нового пункта меню, когда его добавления к меню. Он состоит из одного или нескольких значений, перечисленных в разделе "Примечания".

  • nIDNewItem
    Определяет или идентификатор команды нового пункта меню или, если nFlags установлено в MF_POPUP, то дескриптор меню (HMENU) раскрывающегося меню. Параметр nIDNewItem игнорировать (), если nFlags установлено в MF_SEPARATOR.

  • lpszNewItem
    Определяет содержимое нового пункта меню. Параметр nFlags используется для интерпретации lpszNewItem следующим образом:

    nFlags

    Интерпретация lpszNewItem

    MF_OWNERDRAW

    Содержит приложение- предоставленное 32 разрядное значение, приложение может использовать для поддержки дополнительных данных, связанных с пунктом меню. Это значение 32 разрядное доступны для приложения при обработке WM_MEASUREITEM и сообщения WM_DRAWITEM. Значение хранится в элементе itemData структуры предоставленной с этими сообщениями.

    MF_STRING

    Содержит указатель на null- завершенной строке. Это интерпретация по умолчанию.

    MF_SEPARATOR

    Параметр lpszNewItem игнорировать ().

  • pBmp
    Указывает на CBitmap объект, которое будет использоваться в качестве пункт меню.

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

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

Заметки

Приложение может определить состояние пункта меню значениями параметра в nFlags. При nIDNewItem задает контекстное меню меню, становится частью меню, к которому он добавлено. При уничтожении, то меню добавляется меню также будет удалено. Добавленное меню должно быть наконец удалено из объекта CMenu во избежание конфликта. Обратите внимание, что MF_STRING и MF_OWNERDRAW недопустимый для версии растрового изображения AppendMenu.

В следующем списке описываются флаги, которые могут быть установлены в nFlags:

  • Выступает как связь с MF_UNCHECKED задает MF_CHECKED по умолчанию флажок рядом с элементом. Когда приложение передает растровые изображения галочки (см. функции-члена SetMenuItemBitmaps ), отображается "флажок" в растровом изображении.

  • Выступает как связь с MF_CHECKED удаляет MF_UNCHECKED флажок рядом с элементом. Когда приложение передает растровые изображения галочки (см. функции-члена SetMenuItemBitmaps ), отображается "флажок" растрового изображения.

  • MF_DISABLED Отключить пункт меню, чтобы он не могут быть выбраны, но не уменьшит яркость его.

  • MF_ENABLED включает пункт меню, чтобы он может выбирать и восстановления ее из своего уменьшен серого состояния.

  • MF_GRAYED Отключить пункт меню, чтобы он не может выбирать и снизит яркость его.

  • MF_MENUBARBREAK Задает элемент в новой линии в статических меню или в новом столбце в всплывающих меню. Новый столбец раскрывающегося меню будет отделен от старого столбца вертикальной линии раздела.

  • MF_MENUBREAK Задает элемент в новой линии в статических меню или в новом столбце в всплывающих меню. Никакие линии раздела между столбцами не предусмотрена.

  • MF_OWNERDRAW указывает, что элемент рисования владельцем. Меню отображается при первом окно с меню получает сообщение WM_MEASUREITEM, которое извлекает высота и ширина пункта меню. WM_DRAWITEM одно сообщение, отправленное, когда владелец должен перерисовать визуальное представление пункта меню. Данный параметр недопустим для пункта меню верхнего уровня.

  • MF_POPUP Указывает, что пункт меню меню есть контекстное меню, связанное с ней. Параметр идентификатор определяет дескриптор всплывающему меню, который должен быть связан с элементом. Это используется для добавления или контекстное меню меню верхнего уровня или иерархическое всплывающее меню к элементу раскрывающегося меню.

  • MF_SEPARATOR Рисует горизонтальную линию раздела. Может быть использован только во всплывающем меню. Эта линия нельзя уменьшить яркость, отключение или выбрать. Другие параметры игнорируются.

  • MF_STRING Указывает, что пункт меню является символьной строкой.

Каждый из следующих флагов - список групп, являются исчерпывающим и не может использоваться вместе:

  • MF_DISABLED, MF_ENABLED и MF_GRAYED

  • MF_STRING, MF_OWNERDRAW, MF_SEPARATOR и версия растрового изображения

  • MF_MENUBARBREAK и MF_MENUBREAK

  • MF_CHECKED и MF_UNCHECKED

При изменен меню, находящаяся в окне (отображается ли окно), приложение должно вызвать CWnd::DrawMenuBar.

Пример

См. пример для CMenu::CreateMenu.

Требования

Header: afxwin.h

См. также

Ссылки

Класс CMenu

Диаграмма иерархии

CWnd::DrawMenuBar

CMenu::InsertMenu

CMenu::RemoveMenu

CMenu::SetMenuItemBitmaps

CMenu::Detach

AppendMenu