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