Выбрать главу

См . также

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 может определять как положение, так и идентификатор пункта меню.