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

Параметр

 Описание

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 and uIDNewItem игнорируются.

MF_STRING

 Определяет, что пункт меню - текстовая строка; lpNewItem указывает на строку.

MF_UNCHECKED

 Не помещает галочку рядом с пунктом (значение по умолчанию). Если приложение обеспечивает растры галочки (см. SetMenuItemBitmaps), этот флажок отображает разотмеченный растр рядом с пунктом меню.

Таблица 9

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

•     MF_DISABLED, MF_ENABLED, и MF_GRAYED

•     MF_BITMAP, MF_STRING, и MF_OWNERDRAW

•     MF_MENUBARBREAK и MF_MENUBREAK

•     MF_CHECKED и MF_UNCHECKED

См. Также

AppendMenu, DeleteMenu, DrawMenuBar, ModifyMenu, RemoveMenu, SetMenuItemBitmaps, WM_DRAWITEM, WM_MEASUREITEM

SetMenu

Функция SetMenu назначает новое меню для указанного окна.

BOOL SetMenu (

    HWND hwnd,  // дескриптор окна

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

  );           

Параметры

hwnd

Идентифицирует окно

hmenu

Идентифицирует новое меню. Если этот параметр - NULL, текущее меню окна удалено.

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

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

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

Замечания

Окно должно быть перерисовано, чтобы отразить изменение в меню.

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

См. Также

DestroyMenu, GetMenu

DeleteMenu

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