Рейтинговые книги
Читем онлайн Русский справочник по Win32 API - Тарас Сорока

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 4 5 6 7 8 9 10 11 12 ... 34

См. также

AppendMenu, CreateMenu, DestroyMenu, InsertMenu, SetMenu, TrackPopupMenu, TrackPopupMenuEx, InsertMenuItem .

DeleteMenu

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

BOOL DeleteMenu (

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

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

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

);

Параметры

hMenu - идентифицирует меню.

uPosition - задает удаляемый пункт меню, согласно значению параметра uFlags .

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

Значение

Пояснение

MF_BYCOMMAND

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

MF_BYPOSITION

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

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

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

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

Комментарии

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

См . также

DrawMenuBar, RemoveMenu .

GetMenuCheckMarkDimensions

Функция является устаревшей. Используйте GetSystemMetrics со значениями CXMENUCHECK и CYMENUCHECK для извлечения размеров битового образа.

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

LONG GetMenuCheckMarkDimensions ( VOID )

Параметры

Функция не имеет параметров.

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

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

См. также

SetMenuItemBitmaps .

GetMenuItemCount

Функция GetMenuItemCount определяет количество пунктов в указанном меню.

int GetMenuItemCount (

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

);

Параметры

hMenu - определяет дескриптор меню, для которого будет определяться количество пунктов .

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

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

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

См . также

GetMenuItemID .

GetMenuItemID

Функция GetMenuItemID извлекает идентификатор пункта меню, находящегося в указанной позиции в меню.

UINT GetMenuItemID (

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

int nPos // позиция пункта меню

);

Параметры

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

nPos - определяет относительную позицию (отсчет начинается с нуля) пункта меню, идентификатор которого извлекается.

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

В случае успеха возвращается идентификатор данного пункта меню.

Если идентификатор меню равен NULL, или указанный пункт меню открывает подменю, возвращается 0 xFFFFFFFF .

См. также

GetMenuItemCount, GetMenuString .

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, за исключением выпадающих меню, меню быстрого вызова команд и подменю, где новый столбец от старого столбца отделяется вертикальной чертой.

1 ... 4 5 6 7 8 9 10 11 12 ... 34
На этой странице вы можете бесплатно читать книгу Русский справочник по Win32 API - Тарас Сорока бесплатно.
Похожие на Русский справочник по Win32 API - Тарас Сорока книги

Оставить комментарий