Русский справочник по Win32 API - Тарас Сорока
Шрифт:
Интервал:
Закладка:
);
Параметры
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 дескрипторов меню.