Русский справочник по Win32 API - страница 15

Шрифт
Интервал

стр.


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


Если указанного пункта меню не существует, возвращается 0 xFFFFFFFF .

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

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


Значение

Пояснение

MF_CHECKED

Помещает отметку в пункт меню (только для выпадающих меню, меню быстрого вызова команд и подменю).

MF_DISABLED

Запрещает пункт меню.

MF_GRAYED

Запрещает пункт меню и делает его затененным.

MF_HILITE

Подсвечивает пункт меню.

MF_MENUBARBREAK

То же, что и флаг MF _ MENUBREAK, за исключением выпадающих меню, меню быстрого вызова команд и подменю, где новый столбец от старого столбца отделяется вертикальной чертой.

MF_MENUBREAK

Помещает новый пункт в новой строке (для строк меню) или в новый столбец (для выпадающих меню, меню быстрого вызова команд и подменю) без разделения столбцов.

MF_SEPARATOR

Создает горизонтальную разделяющую линию (для выпадающих меню, меню быстрого вызова команд и подменю).


См. также


GetMenu, GetMenuItemCount, GetMenuItemID, GetMenuItemInfo, GetMenuString .


SetMenuItemBitmaps


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


BOOL SetMenuItemBitmaps (


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

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

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

HBITMAP hBitmapUnchecked , // дескриптор битового образа

// для неотмеченного состояния

HBITMAP hBitmapChecked // дескриптор битового образа

// для отмеченного состояния

);


Параметры


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

uPosition - определяет подлежащий изменению пункт меню в соответствии со значением параметра uFlags .

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


Значение

Пояснение

MF _ BYCOMMAND

Указывает, что значение uPosition представляет собой идентификатор пункта меню. Если не задан ни один из флагов, то используется флаг по умолчанию - MF _ BYCOMMAND .

MF _ BYPOSITION

Указывает, что значение uPosition представляет собой относительную позицию пункта меню (отсчет позиции начинается с нуля).


hBitmapUnchecked - идентифицирует битовый образ, отображаемый, когда пункт меню не отмечен.

hBitmapChecked - идентифицирует битовый образ, отображаемый, когда пункт меню отмечен.


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


В случае успеха возвращается ненулевое значение.

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


Комментарии


Если значение параметра hBitmapUnchecked или hBitmapChecked равно NULL, Windows ничего не отображает в соответствующем пункте меню для соответствующего состояния. Если значения обоих параметров равны NULL, то Windows отображает стандартный битовый образ отметки, соответствующей отмеченному состоянию, и убирает битовый образ, когда пункт меню не отмечен.

При разрушении меню эти битовые образы не разрушаются: их должно разрушить приложение.


Windows NT : Функция GetMenuCheckMarkDimensions извлекает размеры отметки по умолчанию, используемой для пунктов меню. Эти значения используются для определения соответствующих размеров битовых образов, используемых функцией SetMenuItemBitmaps .

Windows 95: Функция GetMenuCheckMarkDimensions устарела . Используйте функцию GetsystemMetrics с параметрами CXMENUCHECK и CYMENUCHECK для извлечения размеров битовых образов.


См. также


GetMenu, GetMenuCheckMarkDimensions .


Оконные процедуры

WindowProc


Функция WindowProc является определяемой приложением функцией обратного вызова, которая обрабатывает отправленные окну сообщения.


LRESULT CALLBACK WindowProc (


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

UINT uMsg , // идентификатор сообщения


стр.

Похожие книги