Функция DeleteMenu (winuser.h)

Удаляет элемент из указанного меню. Если пункт меню открывает меню или подменю, эта функция удаляет дескриптор меню или подменю и освобождает память, используемую меню или вложенным меню.

Синтаксис

BOOL DeleteMenu(
  [in] HMENU hMenu,
  [in] UINT  uPosition,
  [in] UINT  uFlags
);

Параметры

[in] hMenu

Тип: HMENU

Дескриптор меню для изменения.

[in] uPosition

Тип: UINT

Удаляемый пункт меню, определяемый параметром uFlags .

[in] uFlags

Тип: UINT

Указывает, как интерпретируется параметр uPosition . Этот параметр должен иметь одно из следующих значений.

Значение Значение
MF_BYCOMMAND
0x00000000L
Указывает, что uPosition предоставляет идентификатор пункта меню. Флаг MF_BYCOMMAND является флагом по умолчанию, если не указан ни MF_BYCOMMAND , ни MF_BYPOSITION флаг.
MF_BYPOSITION
0x00000400L
Указывает, что uPosition задает отсчитываемую от нуля относительную позицию элемента меню.

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

Тип: BOOL

Если функция выполняется успешно, возвращается ненулевое значение.

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

Комментарии

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

Примеры

Пример см. в разделе Пример средства просмотра буфера обмена.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll
Набор API ext-ms-win-ntuser-menu-l1-1-0 (появилось в Windows 8)

См. также раздел

Основные понятия

DrawMenuBar

Меню

Справочные материалы

RemoveMenu