Класс InkCollector

Представляет объект, используемый для захвата рукописного ввода из доступных устройств планшета.

Создание элемента управления InkCollector за прозрачным элементом управления (например, GroupBox с набором свойств WS _ _ ex ) не позволит InkCollector собирать рукописные данные.

InkCollector имеет следующие типы членов:

События

Класс InkCollector содержит эти события.

Событие Описание
курсорбуттондовн Происходит, когда InkCollector обнаруживает недоступную кнопку курсора.
курсорбуттонуп Происходит, когда InkCollector обнаруживает кнопку курсора, которая находится в up.
курсордовн Происходит, когда подсказка курсора обращается к поверхности планшета в дигитайзере.
курсоринранже Происходит при входе курсора в диапазон физического обнаружения (близость) контекста планшета.
курсораутофранже Происходит, когда курсор покидает диапазон физического обнаружения (близость) контекста планшета.
DoubleClick Происходит при двойном щелчке объекта InkCollector .
жесты Происходит при распознавании жеста конкретного приложения.
Вниз Происходит при нажатии кнопки мыши, когда указатель мыши находится над объектом InkCollector .
Событие Происходит при перемещении указателя мыши над объектом InkCollector .
Кнопка Происходит при отпускании кнопки мыши, когда указатель мыши находится над объектом InkCollector .
маусевхил Происходит при движении колесика мыши, когда объект InkCollector имеет фокус.
невинаирпаккетс Происходит при обнаружении пакета в эфире, который происходит, когда пользователь перемещает перо рядом с планшетом, а курсор находится в окне объекта InkCollector , или пользователь перемещает указатель мыши в связанное окно объекта объекта InkCollector .
невпаккетс Происходит, когда объект InkCollector получает пакеты.
Водок Происходит, когда пользователь завершает рисование нового штриха на любом планшете.
системжестуре Происходит при распознавании системного жеста.
таблетаддед Происходит при добавлении планшета в систему.
таблетремовед Происходит при удалении планшета из системы.

Интерфейсы

Класс InkCollector определяет эти интерфейсы.

Интерфейс Описание
иинкколлектор Этот объект реализует COM-интерфейс иинкколлектор .

Методы

Класс InkCollector имеет следующие методы.

Метод Описание
жетевентинтерест Извлекает текущее состояние конкретного события объекта InkCollector , то есть независимо от того, прослушивается событие или используется ли оно.
жетжестурестатус Возвращает значение, указывающее, заинтересован ли объект InkCollector в определенном жесте.
жетвиндовинпутректангле Извлекает прямоугольник окна в пикселях, в которых рисуется рукописный ввод.
сеталлтаблетсмоде Этот режим позволяет объекту InkCollector получать рукописный ввод с любого планшета, подключенного к планшетному ПК.
сетевентинтерест Изменяет значение, указывающее, следует ли прослушивать или использовать определенное событие.
сетжестурестатус Изменяет интерес объекта InkCollector в известном жесте.
сетсинглетаблетинтегратедмоде Этот режим позволяет объекту InkCollector получать рукописный ввод только с одного планшета. Рукописный ввод из других планшетов игнорируется объектом InkCollector .
сетвиндовинпутректангле Изменяет прямоугольник окна (в пикселях), используемый для отображения рисуемых рукописных данных в окне.

Свойства

Класс InkCollector имеет эти свойства.

Свойство Тип доступа Описание
ауторедрав
Только для чтения
Возвращает или задает значение, указывающее, перерисовывает ли объект InkCollector рукописный ввод при недействительности окна.
коллектингинк
Только для чтения
Возвращает значение, указывающее, рисуются ли рукописные данные в объекте InkCollector .
Режиме CollectionMode
Только для чтения
Возвращает или задает режим сбора, определяющий, распознаются ли рукописный ввод, жесты или оба значения при записи пользователем.
Курсоры
Только для чтения
Возвращает коллекцию курсоров , доступную для использования в области рукописного ввода.
DefaultDrawingAttributes
Только для чтения
Возвращает или задает объект инкдравингаттрибутес по умолчанию, который задает атрибуты рисования, используемые при прорисовке и отображении рукописного ввода.
десиредпаккетдескриптион
Только для чтения
Возвращает или задает интерес к аспектам пакета, связанного с рукописным вводом на объекте InkCollector .
динамикрендеринг
Только для чтения
Возвращает или задает значение, указывающее, отображается ли рукописный ввод при прорисовке.
Активировано
Только для чтения
Возвращает или задает значение, указывающее, собирает ли объект InkCollector входные данные пера.
Дескриптор
Только для чтения
Возвращает или задает маркер окна, к которому присоединен объект InkCollector .
Рукописный ввод
Только для чтения
Возвращает или задает объект инкдисп , связанный с объектом InkCollector .
маргинкс
Только для чтения
Возвращает или задает поля вдоль оси x (в пикселях).
Поле
Только для чтения
Возвращает или задает поля вдоль оси y (в пикселях).
маусеикон
Только для чтения
Возвращает или задает текущий пользовательский значок мыши.
MousePointer
Только для чтения
Возвращает или задает значение, указывающее тип указателя мыши, отображаемого при наведении указателя мыши на определенную часть объекта.
Обработчик
Только для чтения
Возвращает или задает объект инкрендерер , используемый для рисования рукописного ввода.
суппорсигхконтрастинк
Только для чтения
Возвращает или задает значение, указывающее, отображаются ли рукописные данные только в одном цвете, когда система находится в высокая контрастностьном режиме.
Tablet
Только для чтения
Возвращает устройство планшета, которое в настоящее время использует объект InkCollector для получения данных.

Комментарии

Для создания экземпляра этого объекта можно вызвать метод CoCreateInstance в C++.

Объект InkCollector собирает только рукописные данные и жесты, вводимые в конкретное окно, с которым оно связано. Единственной целью InkCollector является получение рукописных данных от оборудования (например, через объект иинккурсор и иинктаблет ) и их доставка в приложение. Фактически он выступает в качестве источника, который распределяет рукописный ввод в один или несколько различных объектов инкдисп , которые действуют как контейнеры, содержащие распределенные рукописные данные.

Чтобы использовать объект InkCollector, вы создаете его, указываете, в каком окне следует собираются рисуемый рукописный ввод, и включите его. После включения он может быть настроен на получение только в одном из трех режимов (режим указывается в перечислении инкколлектионмоде ):

  • Инконли, в котором создается объект иинкстрокедисп .
  • Жестуреонли, в котором создается объект иинкжестуре .
  • Инканджестуре, в котором создаются штрих, жест или, возможно, в зависимости от того, как приложение обрабатывает события.

Это означает, что при каждом перемещении курсора, находящихся в пределах диапазона планшета, объект InkCollector всегда собирает либо штрих, либо жест, а иногда оба. Поддержка жестов встроена с помощью распознавателя жестов Майкрософт.

Объект InkCollector обрабатывает все входные данные планшета. Рукописный ввод можно собирать со всех присоединенных планшетов (включая мышь) одновременно. Изменения в объектах иинккурсор и иинккурсорбуттон могут привести к срабатыванию события объектом InkCollector .

Объект InkCollector также управляет списком курсоров, возникающих во время его существования. Когда InkCollector встречает новый курсор, событие курсоринранже срабатывает с параметром невкурсор , установленным в значение Variant _ true. Приложения используют объект InkCollector для управления новыми курсорами.

С определенным маркером окна может быть связано несколько элементов InkCollector , даже если их области коллекции, задаются в конструкторе или с помощью метода сетвиндовинпутректангле , перекрываются. Однако единственным способом работы этого сценария является то, что каждый объект InkCollector вызывает сетсинглетаблетинтегратедмоде и использует уникальный планшет. Такое поведение упрощает хранение рукописных данных в отдельном объекте для каждого планшета.

Ошибка возникает, если прямоугольник ввода окна для одного включенного инкколлекторс (установленного с помощью свойства Enabled ) перекрывает прямоугольник ввода окна другого включенного объекта InkCollector.

Примечание

Перекрытие может произойти без ошибки, если только один из входных прямоугольников включен в любое известное время.

События MouseDown, MouseMove, MouseUpи маусевхил возвращают координаты x и y в пикселях, а не HIMETRIC единицы, связанные с пространством рукописного ввода. Это обусловлено тем, что эти события заменяют события мыши для приложений, не поддерживающих перо, и эти приложения понимают только пиксели.

Примечание

Объект InkCollector нельзя безопасно освободить в потоке, не являющемся ИП.

Чтобы повысить производительность приложения, уничтожайте объект InkCollector , когда он больше не нужен.

Требования

Требование Значение
Минимальная версия клиента
Только классические приложения Windows XP Tablet PC Edition []
Минимальная версия сервера
Ни одна версия не поддерживается
Header
Мсинкаут. h (также требуется Мсинкаут _ i. c)
Библиотека
InkObj.dll

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

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

Класс Инкдисп

Класс InkOverlay

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