Русский справочник по Win32 API
Шрифт:
GetMailslotInfo
Функция GetMailslotInfo извлекает информацию об указанном мэйлслоте.
BOOL GetMailslotInfo (
HANDLE hMailslot , // дескриптор мэйлслота
LPDWORD lpMaxMessageSize , // адрес максимального размера сообщения
LPDWORD lpNextSize , // адрес размера следующего сообщения
LPDWORD lpMessageCount , //
LPDWORD lpReadTimeout // адрес тайм - аута чтения
);
Параметры
hMailslot– идентифицирует мэйлслот. Этот дескриптор должна создать функция CreateMailslot .
lpMaxMessageSize– когда функция возвращает управление, указывает на буфер, определяющий максимальный размер письма в байтах, допустимый для этого мэйлслота. Эта величина должна быть больше или равна значению параметра cbMaxMsg функции CreateMailslot , создавшей мэйлслот. Значение параметра может быть равно нулю.
lpNextSize– когда функция возвращает управление, указывает на буфер, определяющий размер следующего письма в байтах. Следующая величина имеет специальное значение:
MAILSLOT_NO_MESSAGE - следующее сообщение отсутствует.
Значение параметра может быть равно нулю.
lpMessageCount– когда функция возвращает управление, указывает на буфер, определяющий количество сообщений, ждущих прочтения. Значение параметра может быть равно нулю.
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 // дескриптор битового образа