User and Graphics Device Interface Objects, страница 13

BOOL DeleteMenu (

    HMENU hMenu,          // дескриптор меню

    UINT uPosition ,          // идентификатор пункта меню или позиция

    UINT uFlags     // флажок пункта меню

  );           

Параметры

hMenu

Идентифицирует меню, которое будет изменено.

uPosition

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

uFlags

Определяет, как параметр uPosition интерпретируется. Параметр должен быть одним из следующих значений:

Параметр

 Описание

MF_BYCOMMAND

 Указывает, что параметр uPosition дает идентификатор пункта меню. Флажок MF_BYCOMMAND - значение по умолчанию, если ни MF_BYCOMMAND ни флажок MF_BYPOSITION не определен.

MF_BYPOSITION

 Указывает, что параметр uPosition дает нулевую относительную позицию нового пункта меню. Если uPosition - 0xFFFFFFFF, новый пункт меню будет конкатенирован к концу меню.

Таблица 10

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

В случае успешного завершения, возвращаемое значение - TRUE.

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

Замечания

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

См. Также

DrawMenuBar, RemoveMenu

DrawMenuBar

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

BOOL DrawMenuBar (

    HWND hWnd  // дескриптор окна со строкой меню к перерисовке 

  );           

Параметры

hWnd

Идентифицирует окно, чья строка меню нуждается в изменении.

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

В случае успешного завершения, возвращаемое значение - TRUE.

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

См. Также

DeleteMenu, InsertMenuItem, RemoveMenu, SetMenuItemInfo

ModifyMenu

Функция ModifyMenu изменяет существующий пункт меню. Эта функция используется, чтобы определить содержание, вид и поведение пункта меню. 

BOOL ModifyMenu (

    HMENU hMnu,            // дескриптор меню

    UINT uPosition ,          // пункт меню для изменения

    UINT uFlags ,  // флажки пункта меню

    UINT uIDNewItem ,    // идентификатор пункта меню или всплывающий дескриптор меню

    LPCTSTR lpNewItem             // содержание пункта меню

  );           

Параметры

hMnu

Идентифицирует меню, которое будет изменено.

uPosition

Определяет пункт меню, который будет изменен, как определено параметром uFlags.

uFlags

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

Параметр

 Описание

MF_BYCOMMAND

 Указывает, что параметр uPosition дает идентификатор пункта меню. Флажок MF_BYCOMMAND - значение по умолчанию, если ни MF_BYCOMMAND ни флажок MF_BYPOSITION не определен.

MF_BYPOSITION

 Указывает, что параметр uPosition дает нулевую относительную позицию нового пункта меню. Если uPosition - 0xFFFFFFFF, новый пункт меню будет конкатенирован к концу меню.

Таблица 11

uIDNewItem

Определяет либо идентификатор изменяемого пункта меню либо, если uFlags установлен в MF_POPUP, дескриптор всплывающего меню.

lpNewItem

Указывает на содержание измененного пункта меню. Интерпретация этого параметра зависит от того, включает ли параметр uFlags MF_BITMAP, MF_OWNERDRAW или флажок MF_STRING.