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

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

•     MF_DISABLED, MF_ENABLED, и MF_GRAYED

•     MF_BITMAP, MF_STRING, и MF_OWNERDRAW

•     MF_MENUBARBREAK и MF_MENUBREAK

•     MF_CHECKED и MF_UNCHECKED

См. Также

AppendMenu, CheckMenuItem, DrawMenuBar, EnableMenuItem, SetMenuItemBitmaps, WM_DRAWITEM, WM_MEASUREITEM

RemoveMenu

Функция RemoveMenu удаляет пункт меню из указанного меню. Если пункт меню активизирует всплывающее меню, RemoveMenu не уничтожает всплывающее меню или дескриптор, оставляя меню, которое нужно многократно использовать. Перед вызовом этой функции, функция GetSubMenu должна отыскать дескриптор всплывающего меню.

BOOL RemoveMenu (

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

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

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

  );           

Параметры

hmenu

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

uItem

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

fuFlags

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

Параметр

 Описание

MF_BYCOMMAND

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

MF_BYPOSITION

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

Таблица 14

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

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

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

 Замечания

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

См. Также

CreatePopupMenu, DeleteMenu, DrawMenuBar, GetSubMenu

SetMenuItemBitmaps

Функция SetMenuItemBitmaps связывает указанный растр с пунктом меню. Помечен ли этот пункт меню или нет, Windows отображает соответствующий растр рядом с пунктом меню.

BOOL SetMenuItemBitmaps (

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

    UINT uItem ,    // пункт меню, для получеия нового растра

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

    HBITMAP hbmUnchecked,    // дескриптор непомеченного растра

    HBITMAP hbmChecked         // дескриптор отмеченного растра

  );           

Параметры

hmenu

Идентифицирует меню, содержащее пункт для получения нового растра галочки.

uItem

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

fuFlags

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

Параметр

 Описание

MF_BYCOMMAND

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

MF_BYPOSITION

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

Таблица 15

hbmUnchecked

Идентифицирует отображаемый растр, когда пункт меню не помечен.

hbmChecked

Идентифицирует отображаемый растр, когда пункт меню помечен.

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

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

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

Замечания