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



CreateCaret автоматически разрушает предыдущий вид каретки, если таковая есть, независимо от окна‑владельца.

Пока приложение не вызовет функцию ShowCaret , каретка является скрытой.

Каретка является разделяемым ресурсом: в системе присутствует только одна каретка. Окно должно отображать каретку, только если оно активно или имеет фокус ввода с клавиатуры. Окно должно разрушить каретку перед тем, как оно потеряет фокус ввода с клавиатуры или станет неактивным.

Вы можете получить системные ширину и высоту окна, используя функцию GetSystemMetrics со значениями параметров SM _ CXBORDER и SM _ CYBORDER . Использование ширины или высоты рамки окна гарантирует, что каретка будет видна на экране с высоким разрешением.

 

См. также

 

CreateBitmap, CreateDIBitmap, DestroyCaret, GetSystemMetrics, HideCaret, LoadBitmap, ShowCaret .

 

 

DestroyCaret

 

 

Функция DestroyCaret разрушает текущую каретку, освобождает каретку от окна и удаляет изображение каретки с экрана.

Если каретка основана на растровом изображении, DestroyCaret не освобождает это изображение.

 

BOOL DestroyCaret ( VOID )

Параметры

 

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

 

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

 

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

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

 

Комментарии

 

DestroyCaret разрушает каретку только в том случае, ели окно в текущей задаче владеет ею. Если кареткой владеет окно, которое не принадлежит текущей задаче, DestroyCaret не выполняет никаких действий и возвращает FALSE.

Каретка является разделяемым ресурсом: в системе присутствует только одна каретка. Окно должно отображать каретку, только если оно активно или имеет фокус ввода с клавиатуры. Окно должно разрушить каретку перед тем, как оно потеряет фокус ввода с клавиатуры или станет неактивным.

 

См. также

 

CreateCaret, HideCaret, ShowCaret .

 

 

GetCaretBlinkTime

 

 

Функция GetCaretBlinkTime возвращает время мерцания каретки (время, требуемое для инвертирования пикселей каретки) в миллисекундах. Пользователь может установить это значение, используя Панель Управления.

 

UINT GetCaretBlinkTime ( VOID )

Параметры

 

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

 

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

 

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

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

 

См. также

 

SetCaretBlinkTime .

 

 

GetCaretPos

 

 

Функция GetCaretPos копирует позицию каретки, в клиентских координатах, в указанную структуру типа POINT .

 

BOOL GetCaretPos (

 

LPPOINT  lpPoint // адрес структуры, получающей координаты

);

 

Параметры

 

lpPoint ‑ указывает на структуру типа POINT , которая получает клиентские координаты каретки.

 

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

 

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

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

 

Комментарии

 

Позиция каретки всегда указывается в клиентских координатах окна, содержащего каретку.

 

См. также

 

SetCaretPos, POINT .

 

 

HideCaret

 

 

Функция HideCaret убирает каретку с экрана. Сокрытие каретки не разрушает ее текущей формы и не изменяет точки вставки.

 

BOOL HideCaret (

 

HWND  hWnd // дескриптор окна с кареткой

);

 

Параметры

 

hWnd ‑ идентифицирует окно, владеющее кареткой. Если значение этого параметра равно NULL, HideCaret ищет текущую задачу для окна, владеющего кареткой.

 

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

 

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

 

Комментарии

 

HideCaret прячет каретку только в том случае, если указанное окно ею владеет. Если указанное окно не владеет кареткой, то HideCaret не выполняет никаких действий и возвращает FALSE.

Сокрытие каретки кумулятивно. Если ваше приложение вызывает HideCaret пять раз, то оно также должно пять раз вызвать ShowCaret для появления каретки.

 

См . также

 

CreateCaret, DestroyCaret, GetCaretPos, SetCaretPos, ShowCaret .

 

 

SetCaretBlinkTime

 

 

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

 

BOOL SetCaretBlinkTime (

 

UINT  uMSeconds // время мерцания каретки, в миллисекундах

);

 

Параметры

 

uMSeconds ‑ определяет новое время мерцания, в миллисекундах.

 

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

 

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

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

 

Комментарии

 

Пользователь может установить время мерцания через Панель Управления. Приложения должны "уважать" настройки, сделанные пользователем. Функция SetCaretBlinkTime должна использоваться приложением только в том случае, если приложение позволяет пользователю установить время мерцания каретки, наподобие Панели Управления.

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

 

См. также

 

GetCaretBlinkTime .

 

 

SetCaretPos

 

 

Функция SetCaretPos перемещает каретку в заданную позицию. Если окно, которое владеет кареткой, было создано со стилем класса CS _ OWNDC, то указанные координаты зависят от режима отображения контекста устройства, связанного с окном.

 

BOOL SetCaretPos (

 

int  X , // горизонтальная позиция

int  Y // вертикальная позиция

);

 

Параметры

 

X ‑ определяет новую x ‑координату каретки.

Y ‑ определяет новую y ‑координату каретки.

 

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

 

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

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

 

Комментарии

 

SetCaretPos перемещает каретку вне зависимости от того, является ли каретка видимой, или нет.

Каретка является разделяемым ресурсом; в системе существует только один экземпляр каретки. Окно может установить положение каретки только в том случае, если оно владеет кареткой.

 

См. также

 

GetCaretPos, HideCaret, ShowCaret .

 

 

ShowCaret

 

 

Функция ShowCaret делает каретку видимой в ее текущей позиции на экране. Когда каретка становится видимой, она автоматически начинает мерцать.

 

BOOL ShowCaret (

 

HWND  hWnd // дескриптор окна с кареткой

);

 

Параметры

 

hWnd ‑ идентифицирует окно, владеющее кареткой. Если значение этого параметра равно NULL, ShowCaret ищет в текущей задаче окно, которое владеет кареткой.

 

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

 

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

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

 

Комментарии

 

ShowCaret показывает каретку только в случае, если указанное окно владеет кареткой, каретка имеет контур, и каретка не была скрыта два или более раз подряд. Если одно из этих условий нарушается, ShowCaret не производит никаких действий и возвращает FALSE.

Сокрытие каретки кумулятивно. Если ваше приложение вызывает HideCaret пять раз подряд, оно также должно вызвать ShowCaret пять раз подряд, прежде чем каретка станет видимой.

Каретка является разделяемым ресурсом: в системе присутствует только одна каретка. Окно должно отображать каретку, только если оно активно или имеет фокус ввода с клавиатуры.

 

См. также

 

CreateCaret,  DestroyCaret, GetCaretPos, HideCaret, SetCaretPos .

 

Меню

 

CheckMenuItem

 

 

Функция CheckMenuItem устанавливает или снимает атрибут отметки пункта меню.

Функция CheckMenuItem была заменена функцией SetMenuItemInfo . Тем не менее, вы можете продолжать использовать CheckMenuItem , если вам не нужны дополнительные возможности SetMenuItemInfo .

 

DWORD CheckMenuItem (

 

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

UINT  uIDCheckItem , // пункт меню

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

);

 

Параметры

 

hmenu ‑ идентифицирует интересующее меню.

uIDCheckItem ‑ определяет пункт меню, чей атрибут отметки устанавливается, как определяется значением параметра uCheck .

uCheck ‑ определяет флаги, которые управляют интерпретацией значения параметра uIDCheckItem и состоянием атрибута отметки пункта меню. Значение этого параметра должно представлять собой комбинацию MF_BYCOMMAND или MF_BYPOSITION и MF_CHECKED или MF_UNCHECKED.

 

 

 Значение   Пояснение  
MF _ BYCOMMAND   Указывает, что значение uIDCheckItem представляет собой идентификатор пункта меню.  
MF _ BYPOSITION   Указывает, что значение uIDCheckItem представляет собой относительную позицию пункта меню (отсчет позиции начинается с нуля).  
MF_CHECKED   Устанавливает атрибут выделения пункта меню в состояние "отмечен".  
MF _ UNCHECKED   Устанавливает атрибут выделения пункта меню в состояние "неотмечен".  

 

Флаг MF _ BYCOMMAND является флагом по умолчанию, если флаг MF _ BYCOMMAND или MF _ BYPOSITION не установлен.

 

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

 

Возвращаемое значение идентифицирует предыдущее состояние пункта меню ( либо MF_CHECKED, либо MF_UNCHECKED). Если пункт меню не существует, возвращается 0 xFFFFFFFF .

 

Комментарии

 

Пункт в строке меню не может иметь отметку.

Значение параметра uIDCheckItem идентифицирует пункт меню, который либо открывает подменю, либо является командным пунктом меню. Для пункта меню, который открывает подменю, значение параметра uIDCheckItem должно указывать положение пункта. Для командного пункта меню, значение uIDCheckItem может определять как положение, так и идентификатор пункта меню.

 

См. также

 

EnableMenuItem, GetMenuCheckMarkDimensions, GetMenuItemID, SetMenuItemBitmaps, SetMenuItemInfo .

 

 

CreateMenu

 

 

Функция CreateMenu создает меню. Изначально меню пустое, но оно может быть заполнено пунктами меню, используя функции InsertMenuItem, AppendMenu и InsertMenu .

 

HMENU CreateMenu ( VOID )

Параметры

 

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

 

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

 

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

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

 

Комментарии

 

Ресурсы, связанные с меню, которое назначено окну, освобождаются автоматически. Если меню не назначено окну, приложение должно освободить ресурсы, связанные с меню, перед завершением приложения. Приложение освобождает ресурсы меню, вызывая функцию DestroyMenu .

Windows 95: Система может поддерживать максимум 16384 дескрипторов меню.

 

См. также

 

AppendMenu, CreatePopupMenu, DestroyMenu, InsertMenu, SetMenu, InsertMenuItem .

 

 

CreatePopupMenu

 

 

Функция CreatePopupMenu создает выпадающее меню (drop‑down menu), подменю ( submenu ) или меню быстрого вызова ( shortcut menu ). Меню изначально пустое. Вы можете вставить или добавить пункты меню, используя функцию InsertMenuItem . Вы также можете использовать функцию InsertMenu для вставки пунктов меню и функцию AppendMenu для добавления пунктов меню.

 

HMENU CreatePopupMenu ( VOID )

Параметры

 

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

 

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

 

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

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

 

Комментарии

 

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

Ресурсы, связанные с меню, которое назначено окну, освобождаются автоматически. Если меню не назначено окну, приложение должно освободить ресурсы, связанные с меню, перед завершением приложения. Приложение освобождает ресурсы меню, вызывая функцию DestroyMenu .

Windows 95: Система может поддерживать максимум 16384 дескрипторов меню.

 

См. также

 

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 .

 

Комментарии

 


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

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






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