CopyCursor, DrawIcon, DrawIconEx. 5 страница



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

WPARAM  wParam , // первый параметр сообщения

LPARAM  lParam // второй параметр сообщения

);

 

Параметры

 

hWnd ‑ идентифицирует окно, получающее сообщение.

uMsg ‑ определяет сообщение.

wParam ‑ определяет дополнительную информацию, зависящую от сообщения.

lParam ‑ определяет дополнительную информацию, зависящую от сообщения.

 

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

 

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

 

Комментарии

 

WindowProc является "заполнителем" для имени определяемой приложением функции.

 

См. также

 

CallWindowProc, DefWindowProc, RegisterClass .

 

Строки

 

CharPrev

 

 

Функция CharPrev возвращает указатель на предшествующий символ в строке. Функция заменяет функцию AnsiPrev .

 

LPTSTR CharPrev (

 

LPCTSTR  lpszStart , // указатель на первый символ

LPCTSTR  lpszCurrent // указатель на текущий символ

);

 

Параметры

 

lpszStart ‑ указатель на начало строки.

lpszCurrent ‑ указатель на текущий символ в завершающейся нулем строке.

 

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

 

В случае успеха возвращается указатель на предшествующий символ в строке, или на первый символ в строке, если значения параметров lpszCurrent и lpszStart совпадают.

 

См. также

 

CharNext, CharPrevExA .

 

 

CharToOem

 

 

Функция CharToOem преобразует строку в набор символов ОЕМ. Эта функция заменяет функцию AnsiToOem .

 

BOOL CharToOem (

 

LPCTSTR  lpszSrc , // указатель на преобразуемую строку

LPSTR  lpszDst // указатель на буфер для преобразованной строки

);

 

Параметры

 

lpszSrc ‑ указывает на завершающуюся нулем преобразуемую строку.

lpszDst ‑ указывает на буфер для преобразованной строки. Если CharToOem используется как ANSI ‑функция, то можно установить параметр lpszDst на тот же адрес, что и параметр lpszSrc . Это не может быть осуществлено в случае использования CharToOem как Unicode ‑функции.

 

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

 

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

 

См. также

 

CharToOemBuff, OemToChar, OemToCharBuff .

 

 

CharToOemBuff

 

 

Функция CharToOemBuff преобразует указанное количество символов в строке в набор символов ОЕМ. Эта функция заменяет функцию AnsiToOemBuff .

 

BOOL CharToOemBuff (

 

LPCTSTR  lpszSrc , // указатель на преобразуемую строку

LPSTR  lpszDst , // указатель на преобразованную строку

DWORD  cchDstLength // длина преобразуемой строки в байтах

);

 

Параметры

 

lpszSrc ‑ указывает на завершающуюся нулем преобразуемую строку.

lpszDst ‑ указывает на буфер для преобразованной строки. Если CharToOemBuff используется как ANSI ‑функция, то можно установить параметр lpszDst на тот же адрес, что и параметр lpszSrc . Это не может быть осуществлено в случае использования CharToOemBuff как Unicode ‑функции.

cchDstLength ‑ определяет количество символов для преобразования в строке, идентифицируемой значением параметра lpszSrc .

 

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

 

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

 

См. также

 

CharToOem, OemToChar, OemToCharBuff .

 

 

EnumCodePagesProc

 

 

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

 

BOOL CALLBACK EnumCodePagesProc (

 

LPTSTR  lpCodePageString // указатель на строку идентификатора

// кодовой страницы

);

 

Параметры

 

lpCodePageString ‑ указатель на строковый буфер, содержащий завершающуюся нулем строку идентификатора кодовой страницы.


Дата добавления: 2021-01-21; просмотров: 64; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!