Класс InkOverlay
Представляет объект, который полезен для сценариев заметок, в которых пользователи не заинтересованы в распознавании рукописного ввода, а интересуются размером, формой, цветом и положением рукописного фрагмента.
Создание элемента управления InkOverlay за прозрачным элементом управления (например, GroupBox с набором свойств WS_EX_TRANSPARENT) не позволит InkOverlay собирать рукописный ввод.
InkOverlay имеет следующие типы элементов:
События
Класс InkOverlay содержит эти события.
Событие | Описание |
---|---|
CursorButtonDown | Происходит, когда InkOverlay обнаруживает кнопку курсора, которая находится вниз. |
CursorButtonUp | Происходит, когда InkOverlay обнаруживает кнопку курсора, которая находится вверх. |
CursorDown | Происходит при контакте курсора с поверхностью оцифровки планшета. |
CursorInRange | Происходит, когда курсор входит в физический диапазон обнаружения (близость) контекста планшета. |
CursorOutOfRange | Происходит, когда курсор покидает физический диапазон обнаружения (близость) контекста планшета. |
Doubleclick | Происходит при двойном щелчке объекта InkOverlay . |
жесты | Происходит при распознавании жеста конкретного приложения. |
MouseDown | Происходит при наведении указателя мыши на объект InkOverlay и нажатии кнопки мыши. |
MouseMove | Происходит при наведении указателя мыши на объект InkOverlay . |
MouseUp | Происходит при наведении указателя мыши на объект InkOverlay и отпускании кнопки мыши. |
Mousewheel | Происходит при перемещении колесика мыши, когда объект InkOverlay имеет фокус. |
NewInAirPackets | Происходит при обнаружении в воздухе пакета, что происходит, когда пользователь перемещает перо рядом с планшетом, а курсор находится в окне объекта InkOverlay или пользователь перемещает мышь в связанном окне объекта InkOverlay . |
NewPackets | Происходит, когда объект InkOverlay получает пакеты. |
Окрашены | Происходит после завершения перерисовки объекта InkOverlay . |
Рисование | Происходит перед перерисовкой объекта InkOverlay . |
SelectionChanged | Происходит при изменении выделения рукописного ввода в элементе управления, например путем изменения пользовательского интерфейса, процедур вырезания и вставки или свойства Selection . |
SelectionChanging | Происходит при изменении выделения рукописного ввода в элементе управления, например путем изменения пользовательского интерфейса, процедур вырезания и вставки или свойства Selection . |
SelectionMoved | Происходит при изменении позиции текущего выделенного фрагмента, например путем изменения пользовательского интерфейса, процедур вырезания и вставки или свойства Selection . |
SelectionMoving | Происходит при изменении позиции текущего выделенного фрагмента, например путем изменения пользовательского интерфейса, процедур вырезания и вставки или свойства Selection . |
SelectionResized | Происходит при изменении размера текущего выделенного фрагмента, например путем изменения пользовательского интерфейса, процедур вырезания и вставки или свойства Selection . |
SelectionResizing | Происходит при изменении размера текущего выделенного фрагмента, например путем изменения пользовательского интерфейса, процедур вырезания и вставки или свойства Selection . |
Инсульта | Происходит, когда пользователь завершает рисование нового росчерка на любом планшете. |
StrokesDeleted | Происходит после удаления штрихов из свойства Ink . |
Удаление штрихов | Происходит перед удалением штрихов из свойства Ink . |
SystemGesture | Происходит при распознавании системного жеста. |
ПланшетДобавлен | Происходит при добавлении IInkTablet в систему. |
Планшет удален | Происходит при удалении планшета из системы. |
Интерфейсы
Класс InkOverlay определяет эти интерфейсы.
Интерфейс | Описание |
---|---|
IInkOverlay | Этот объект реализует COM-интерфейс IInkOverlay . |
Методы
Класс InkOverlay содержит следующие методы.
Метод | Описание |
---|---|
Draw | Задает прямоугольник для перерисовки рукописного ввода в объекте InkOverlay . |
GetEventInterest | Возвращает текущее состояние определенного события объекта InkOverlay , т. е. указывает, прослушивается ли событие или используется. |
GetGestureStatus | Возвращает значение, указывающее, заинтересован ли объект InkOverlay в определенном жесте. |
GetWindowInputRectangle | Извлекает прямоугольник окна в пикселях, внутри которого рисуется рукописный ввод. |
HitTestSelection | Определяет, какая часть выделенного фрагмента была достигнута во время проверки нажатия. |
SetAllTabletsMode | Этот режим позволяет объекту InkOverlay собирать рукописный ввод с любого планшета, подключенного к планшетному компьютеру. |
SetEventInterest | Задает значение, указывающее, следует ли прослушивать или использовать определенное событие. |
SetGestureStatus | Задает интерес объекта InkOverlay в известном жесте. |
SetSingleTabletIntegratedMode | Этот режим позволяет объекту InkOverlay собирать рукописный ввод только с одного планшета. Рукописный ввод с других планшетов игнорируется объектом InkOverlay . |
SetWindowInputRectangle | Задает прямоугольник окна в пикселях для сопоставления нарисованного фрагмента с окном. |
Свойства
Класс InkOverlay имеет следующие свойства.
Свойство | Тип доступа | Описание |
---|---|---|
AttachMode |
Чтение/запись |
Возвращает или задает значение, указывающее, присоединен ли объект InkOverlay за известным окном или перед ним. |
AutoRedraw |
Чтение/запись |
Возвращает или задает значение, указывающее, перерисовывает ли inkOverlay рукописный ввод, когда окно становится недействительным. |
CollectingInk |
Только для чтения |
Возвращает значение, указывающее, рисуется ли рукописный ввод в объекте InkOverlay . |
CollectionMode |
Чтение/запись |
Возвращает или задает режим сбора, определяющий, распознаются ли рукописные фрагменты, жесты или и то, и другое при записи пользователем. |
Курсоры |
Только для чтения |
Возвращает коллекцию Cursors , доступную для использования в области рукописного ввода. |
DefaultDrawingAttributes |
Чтение/запись |
Возвращает или задает объект По умолчанию InkDrawingAttributes , который задает атрибуты рисования, используемые при рисовании и отображении рукописного ввода. |
DesiredPacketDescription |
Чтение/запись |
Возвращает или задает интерес к аспектам пакета, связанного с рукописным вводом, нарисованным в объекте InkOverlay . |
DynamicRendering |
Чтение/запись |
Возвращает или задает значение, указывающее, отображается ли рукописный ввод при рисовании. |
EditingMode |
Чтение/запись |
Возвращает или задает значение, указывающее, находится ли InkOverlay в режиме рукописного ввода, режиме удаления или режиме выбора или редактирования. |
Активировано |
Чтение/запись |
Возвращает или задает значение, указывающее, собирает ли объект InkOverlay входные данные пером. |
EraserMode |
Чтение/запись |
Возвращает или задает значение, указывающее, удаляется ли рукописный фрагмент росчерком или точкой. |
EraserWidth |
Чтение/запись |
Возвращает или задает значение, указывающее ширину кончика пера ластика. |
Handle |
Чтение/запись |
Возвращает или задает дескриптор окна, к которому присоединен объект InkOverlay . |
Рукописный ввод |
Чтение/запись |
Возвращает или задает объект InkDisp , связанный с объектом InkOverlay . |
MarginX |
Чтение/запись |
Возвращает или задает поля вдоль оси X в пикселях. |
MarginY |
Чтение/запись |
Получает или задает поля вдоль оси Y в пикселях. |
MouseIcon |
Чтение/запись |
Возвращает или задает текущий пользовательский значок мыши. |
MousePointer |
Чтение/запись |
Возвращает или задает значение, указывающее тип указателя мыши, который появляется при наведении указателя мыши на определенную часть объекта. |
Обработчик |
Чтение/запись |
Возвращает или задает объект InkRenderer , используемый для рисования рукописного ввода. |
Выбор |
Чтение/запись |
Возвращает или задает коллекцию InkStrokes , выбранную в данный момент внутри элемента управления InkOverlay . |
SupportHighContrastInk |
Чтение/запись |
Возвращает или задает значение, указывающее, отображается ли рукописный ввод только в виде одного цвета, если система находится в режиме высокой контрастности. |
SupportHighContrastSelectionUI |
Чтение/запись |
Возвращает или задает значение, указывающее, рисуется ли весь пользовательский интерфейс выбора в режиме высокой контрастности, если система находится в режиме высокой контрастности. |
Планшет |
Только для чтения |
Возвращает планшетное устройство, которое объект InkOverlay в настоящее время использует для сбора входных данных. |
Примечания о реализации MFC
Если вы прикрепили объект InkOverlay к объекту CView, отпустите объект InkOverlay в ответ на сообщение WM_DESTROY, как показано в следующем примере:
BOOL CRecognitionAlternatesSampleCppView::OnWndMsg(UINT msg, WPARAM wp, PARAM lp, LRESULT *pLR)
{
if(WM_DESTROY == msg)
m_spInkOverlay.Release();
return CView::OnWndMsg(msg, wp, lp, pLR);
}
Комментарии
Экземпляр этого объекта можно создать, вызвав метод CoCreateInstance в C++.
Объект InkOverlay хорошо подходит для создания заметок и базовой очистки. Основное назначение этого объекта заключается в отображении рукописного ввода как рукописного ввода.
Как правило, пользовательский интерфейс времени выполнения для этого объекта представляет собой прозрачное окно с непрозрачными чернилами.
События MouseDown, MouseMove, MouseUp и MouseWheel возвращают координаты X и Y в пикселях, а не единицы HIMETRIC, связанные с пространством рукописного ввода. Это связано с тем, что эти события заменяют события мыши в приложениях, не использующих перо, и эти приложения понимают только пиксели.
Внимание!
Если для свойства AttachMode объекта InkOverlay задано значение InFront, создайте объект InkOverlay в потоке, в котором выполняется форма. Приложение может перестать отвечать, если объект InkOverlay создан в другом потоке и его свойству AttachMode присвоено значение InFront.
Примечание
Объект InkOverlay не может быть безопасно освобожден в потоке, отличном от пользовательского интерфейса.
Чтобы повысить производительность приложения, удалите объект InkOverlay , когда он больше не нужен.
Если вы прикрепили объект InkOverlay к объекту CView, отпустите объект InkOverlay в ответ на сообщение WM_DESTROY, как показано в следующем примере:
BOOL CRecognitionAlternatesSampleCppView::OnWndMsg(UINT msg, WPARAM wp, PARAM lp, LRESULT *pLR)
{
if(WM_DESTROY == msg)
m_spInkOverlay.Release();
return CView::OnWndMsg(msg, wp, lp, pLR);
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows XP Tablet PC Edition [только классические приложения] |
Минимальная версия сервера |
Ни одна версия не поддерживается |
Заголовок |
|
Библиотека |
|