Русский справочник по Win32 API
Шрифт:
lReadTimeout– указывает на буфер, определяющий количество времени, в миллисекундах, которое операция чтения может ждать сообщения, записанного в мэйлслот, до наступления тайм-аута. Параметр заполняется, когда функция возвращает управление. Значение параметра может быть равно нулю.
Возвращаемые значения
В случае успеха возвращается ненулевое значение.
В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .
См. также
CreateMailslot, SetMailslotInfo .
GetMenuState
Функция GetMenuState
Функция GetMenuState заменена функцией GetMenuItemInfo . Вы, тем не менее, можете продолжать использовать функцию GetMenuState , если у вас нет необходимости в дополнительных возможностях функции GetMenuItemInfo .
UINT GetMenuState (
HMENU hMenu , // дескриптор меню
UINT uId , // запрашиваемый пункт меню
UINT uFlags // флаги меню
);
Параметры
hMenu– идентифицирует меню, которое содержит пункт, чьи флаги извлекаются.
uId– определяет пункт меню, для которого извлекаются флаги меню.
uFlags– определяет, как интерпретируется значение параметра uId . Параметр uFlags должен принимать одно из следующих значений:
Значение | Пояснение |
MF_BYCOMMAND | Указывает, что uPosition принимает идентификатор пункта меню. Флаг MF_BYCOMMAND является флагом по умолчанию, если явно не задан ни флаг MF_BYCOMMAND, ни MF_BYPOSITION. |
MF_BYPOSITION | Указывает, что uPosition принимает относительную, отсчитываемую с нуля позицию пункта меню. |
Возвращаемые значения
Если указанного пункта меню не существует, возвращается 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 отображает стандартный битовый образ отметки, соответствующей отмеченному состоянию, и убирает битовый образ, когда пункт меню не отмечен.
При разрушении меню эти битовые образы не разрушаются: их должно разрушить приложение.