Поделиться через


Класс 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 [только классические приложения]
Минимальная версия сервера
Ни одна версия не поддерживается
Заголовок
Msinkaut.h (также требуется Msinkaut_i.c)
Библиотека
InkObj.dll

См. также раздел

Класс InkCollector

Справочник по элементу управления InkPicture

Ссылка на элемент управления InkEdit