C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 11.19.1.35 - Функция AppendMenu / Меню. / Win32 API

11.19.1.35 - Функция AppendMenu

(ДобавитьМеню)

Функция AppendMenu добавляет в конец определяемой строки меню, "выскакивающего" меню, подменю или контекстного меню новый пункт. Вы можете использовать эту функцию, чтобы определить содержание, внешний вид и характеристики пункта меню.

Функция AppendMenu была заменена функцией InsertMenuItem. Вы можете все еще использовать AppendMenu, в том случае, если Вы не нуждаетесь в какой-либо из расширенных функций InsertMenuItem.

Синтаксис

BOOL AppendMenu(
	HMENU hMenu,		// дескриптор меню, который будет изменен
	UINT uFlags,		// флажки пункта меню
	UINT uIDNewItem,		// идентификатор пункта меню или дескриптор "выскакивающего" меню
				// или подменю
	LPCTSTR lpNewItem		// пункт контекстного меню
);

Параметры
hMenu
Идентифицирует строку меню, "выскакивающее" меню, подменю или контекстное меню, которое будет изменено.
uFlags
Определяет флажки, которые управляют внешним видом и характеристиками нового пункта меню. Этот параметр может быть комбинация значений, перечисленных в разделе Замечаний ниже.
uIDNewItem
Определяет или идентификатор нового пункта меню или, если параметр uFlags установлен в MF_POPUP, дескриптор "выскакивающего" меню или подменю.
lpNewItem
Определяет содержание нового пункта меню. Интерпретация lpNewItem зависит от того, включает ли параметр uFlags в себя флажок MF_BITMAP, MF_OWNERDRAW или MF_STRING, как указано ниже:

  • MF_BITMAP - Содержит дескриптор растрового рисунка.
  • MF_OWNERDRAW - Содержит 32-разрядное значение, предоставленное прикладной программой, которое может быть использовано, чтобы утвердить, что дополнительные данные касаются пункта меню. Значение является членом itemData структуры, указываемой параметром lParam при помощи передачи сообщения WM_MEASURE или WM_DRAWITEM, когда создается меню, или его внешний вид модифицируется.
  • MF_STRING - Содержит указатель на строку с символом нуля в конце.

Возвращаемые значения
Если функция завершается успешно, величина возвращаемого значения - не ноль.
Если функция не выполняет задачу, величина возвращаемого значения - ноль. Чтобы получать расширенные данные об ошибках, вызовите GetLastError.

Замечания
Прикладная программа должна вызывать функцию DrawMenuBar всякий раз, когда меню изменяется, независимо от того, находится оно или нет в отображаемом окне.
Следующие флажки могут быть установлены в параметре uFlags:

  • MF_BITMAP - Использует точечный рисунок как пункт меню. Параметр lpNewItem содержит дескриптор точечного рисунка.
  • MF_CHECKED - Помещает галочку рядом с пунктом меню. Если прикладная программа предоставляет значки "галочки" (см. SetMenuItemBitmaps), этот флажок показывает на экране точечный рисунок галочки рядом с пунктом меню.
  • MF_DISABLED - Отключает пункт меню, так что он не может быть выбран, но флажок не окрашивает его в серый цвет.
  • MF_ENABLED - Включает пункт меню, так что он может быть выбран и восстанавливает его из недоступного состояния.
  • MF_GRAYED - Отключает пункт меню и окрашивает его в серый цвет (делает недоступным), так что он не может быть выбран.
  • MF_MENUBARBREAK - Исполняет такую же функцию, как и флажок MF_MENUBREAK для строки меню. Для "выскакивающего" меню, подменю или контекстного меню, новый столбец отделяется от старого столбца вертикальной линией.
  • MF_MENUBREAK - Помещает пункт в новую строку (для строки меню) или в новом столбце (для "выскакивающего" меню, подменю, или контекстного меню) без разделения столбцов.
  • MF_OWNERDRAW - Определяет, что пункт является "собственным" пунктом (нарисованным пользователем). Перед тем как меню отображается впервые, окно, которое владеет им, получает сообщение WM_MEASUREITEM, чтобы извлечь данные о ширине и высоте пункта меню. Сообщение WM_DRAWITEM затем отправляется в оконную процедуру окна владельца всякий раз, когда внешний вид пункта меню должен модифицироваться.
  • MF_POPUP - Определяет, что пункт меню открывает "выскакивающее" меню или подменю. Параметр uIDNewItem определяет дескриптор "выскакивающего" меню или подменю. Этот флажок используется, чтобы добавить имя меню в строке меню, или пункт меню, который открывает подменю "выскакивающего" меню, подменю или контекстное меню.
  • MF_SEPARATOR - Рисует горизонтальную разделительную линию. Этот флажок используется только в "выскакивающем" меню, подменю или контекстном меню. Строка не может быть недоступна, заблокирована, или выделена. Параметры lpNewItem и uIDNewItem игнорируются.
  • MF_STRING - Определяет, что пункт меню - текстовая строка; параметр lpNewItem указывает на строке.
  • MF_UNCHECKED - Удаляет галочку рядом с пунктом (значение по умолчанию). Если прикладная программа предоставляет точечные рисунки (значки) "галочки" (см. SetMenuItemBitmaps), этот флажок показывает на экране снятую метку "галочки" рядом с пунктом меню.

Следующие группы флажков не могут быть использованы вместе:

MF_DISABLED, MF_ENABLED и MF_GRAYED
MF_BITMAP, MF_STRING и MF_OWNERDRAW
MF_MENUBARBREAK и MF_MENUBREAK
MF_CHECKED и MF_UNCHECKED

Смотри также
CreateMenu, DeleteMenu, DestroyMenu, DrawMenuBar, InsertMenu, InsertMenuItem, ModifyMenu, RemoveMenu, SetMenuItemBitmaps

Размещение и совместимость AppendMenu

Windows NT			Да 
Win95				Да 
Win32s				Да 
Импортируемая библиотека		user32.lib 
Заголовочный файл			winuser.h 
Unicode				WinNT
Замечания по платформе		Не имеется

| |
Автор Владимир Соковиков.
[AD]