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


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