Clase InkCollector
Representa el objeto que se usa para capturar la entrada de lápiz de los dispositivos de tableta disponibles.
La creación del control InkCollector detrás de un control transparente (por ejemplo, un GroupBox con el conjunto de propiedades WS_EX_TRANSPARENT ) impedirá que InkCollector recopile la entrada de lápiz.
InkCollector tiene estos tipos de miembros:
Eventos
La clase InkCollector tiene estos eventos.
Evento | Descripción |
---|---|
CursorButtonDown | Se produce cuando InkCollector detecta un botón de cursor que está inactivo. |
CursorButtonUp | Se produce cuando InkCollector detecta un botón de cursor que está activo. |
CursorDown | Se produce cuando la punta del cursor se pone en contacto con la superficie de la tableta de digitalización. |
CursorInRange | Se produce cuando un cursor entra en el intervalo de detección física (proximidad) del contexto de la tableta. |
CursorOutOfRange | Se produce cuando el cursor deja el intervalo de detección física (proximidad) del contexto de la tableta. |
Doubleclick | Se produce cuando se hace doble clic en el objeto InkCollector . |
Gesto | Se produce cuando se reconoce un gesto específico de la aplicación. |
MouseDown | Se produce cuando el puntero del mouse está sobre el objeto InkCollector y se presiona un botón del mouse. |
MouseMove | Se produce cuando el puntero del mouse se mueve sobre el objeto InkCollector . |
MouseUp | Se produce cuando el puntero del mouse está sobre el objeto InkCollector y se suelta un botón del mouse. |
Mousewheel | Se produce cuando la rueda del mouse se mueve mientras el objeto InkCollector tiene el foco. |
NewInAirPackets | Se produce cuando se ve un paquete en el aire, que ocurre cuando un usuario mueve un lápiz cerca de la tableta y el cursor está dentro de la ventana del objeto InkCollector o el usuario mueve un mouse dentro de la ventana asociada del objeto InkCollector . |
NewPackets | Se produce cuando el objeto InkCollector recibe paquetes. |
Carrera | Se produce cuando el usuario termina de dibujar un nuevo trazo en cualquier tableta. |
SystemGesture | Se produce cuando se reconoce un gesto del sistema. |
TabletAdded | Se produce cuando se agrega una tableta al sistema. |
TabletRemoved | Se produce cuando se quita una tableta del sistema. |
Interfaces
La clase InkCollector define estas interfaces.
Interfaz | Descripción |
---|---|
IInkCollector | Este objeto implementa la interfaz COM de IInkCollector . |
Métodos
La clase InkCollector tiene estos métodos.
Método | Descripción |
---|---|
GetEventInterest | Recupera el estado actual de un evento de objeto InkCollector determinado, es decir, si el evento se escucha o se usa. |
GetGestureStatus | Recupera si el objeto InkCollector está interesado en un gesto determinado. |
GetWindowInputRectangle | Recupera el rectángulo de ventana, en píxeles, dentro del cual se dibuja la entrada de lápiz. |
SetAllTabletsMode | Este modo permite que el objeto InkCollector recopile tinta de cualquier tableta conectada al pc tablet. |
SetEventInterest | Modifica un valor que indica si se debe escuchar o usar un evento específico. |
SetGestureStatus | Modifica el interés del objeto InkCollector en un gesto conocido. |
SetSingleTabletIntegratedMode | Este modo permite que el objeto InkCollector recopile tinta solo de una tableta. El objeto InkCollector omite la entrada de lápiz de otras tabletas. |
SetWindowInputRectangle | Modifica el rectángulo de la ventana, en píxeles, para usarlo para asignar tinta dibujada a la ventana. |
Propiedades
La clase InkCollector tiene estas propiedades.
Propiedad | Tipo de acceso | Descripción |
---|---|---|
AutoRedraw |
Solo lectura |
Obtiene o establece un valor que especifica si inkCollector vuelve a dibujar la entrada de lápiz cuando se invalida la ventana. |
CollectingInk |
Solo lectura |
Obtiene un valor que especifica si la entrada de lápiz se dibuja actualmente en un objeto InkCollector . |
CollectionMode |
Solo lectura |
Obtiene o establece el modo de colección que determina si la entrada de lápiz, los gestos o ambos se reconocen como escribe el usuario. |
Cursores |
Solo lectura |
Obtiene la colección Cursors que está disponible para su uso en la región de entrada manuscrita . |
DefaultDrawingAttributes |
Solo lectura |
Obtiene o establece el objeto InkDrawingAttributes predeterminado, que especifica los atributos de dibujo que se usan al dibujar y mostrar tinta. |
DesiredPacketDescription |
Solo lectura |
Obtiene o establece interés en aspectos del paquete asociado con la entrada de lápiz dibujada en el objeto InkCollector . |
DynamicRendering |
Solo lectura |
Obtiene o establece un valor que indica si la entrada de lápiz se representa a medida que se dibuja. |
habilitado |
Solo lectura |
Obtiene o establece un valor que especifica si el objeto InkCollector recopila la entrada del lápiz. |
Handle |
Solo lectura |
Obtiene o establece el identificador de la ventana a la que está asociado el objeto InkCollector . |
Entrada de lápiz |
Solo lectura |
Obtiene o establece el objeto InkDisp asociado al objeto InkCollector . |
MarginX |
Solo lectura |
Obtiene o establece los márgenes a lo largo del eje X, en píxeles. |
MarginY |
Solo lectura |
Obtiene o establece los márgenes a lo largo del eje Y, en píxeles. |
MouseIcon |
Solo lectura |
Obtiene o establece el icono del mouse personalizado actual. |
Mousepointer |
Solo lectura |
Obtiene o establece un valor que indica el tipo de puntero del mouse que aparece cuando el mouse está sobre una parte determinada del objeto. |
Representador |
Solo lectura |
Obtiene o establece el objeto InkRenderer que se usa para dibujar tinta. |
SupportHighContrastInk |
Solo lectura |
Obtiene o establece un valor que especifica si la entrada de lápiz se representa como un solo color cuando el sistema está en modo de contraste alto. |
Tablet |
Solo lectura |
Obtiene el dispositivo de tableta que el objeto InkCollector está usando actualmente para recopilar la entrada. |
Comentarios
Este objeto se puede crear una instancia llamando al método CoCreateInstance en C++.
El objeto InkCollector recopila solo la entrada de lápiz y los gestos que se introducen en la ventana específica con la que está asociada. El único propósito de InkCollector es recopilar tinta del hardware (por ejemplo, a través de un objeto IInkCursor e IInkTablet ) y entregarlo a una aplicación. Básicamente actúa como el origen que distribuye la entrada de lápiz en uno o muchos objetos InkDisp diferentes, que actúan como contenedor que contiene la entrada de lápiz distribuida.
Para usar un InkCollector, debe crearlo, indicarlo en qué ventana recopilar entrada de lápiz dibujada y habilitarla. Una vez habilitado, se puede establecer para recopilar solo en uno de los tres modos (el modo se especifica en la enumeración InkCollectionMode ):
- InkOnly, en el que se crea un objeto IInkStrokeDisp .
- GestureOnly, en el que se crea un objeto IInkGesture .
- InkAndGesture, en el que se crea un trazo, un gesto o potencialmente ambos, en función de cómo controla la aplicación los eventos.
Esto significa que, para cada movimiento de un cursor que se encuentra dentro del intervalo de una tableta, InkCollector siempre recopila un trazo o un gesto y, a veces, ambos. La compatibilidad con gestos está integrada con el reconocedor de gestos de Microsoft.
Un InkCollector controla todas las entradas de tableta. La tinta se puede recopilar de todas las tabletas conectadas (incluido el mouse) simultáneamente. Los cambios en los objetos IInkCursor e IInkCursorButton pueden hacer que inkCollector se active un evento.
Un InkCollector también administra la lista de cursores que encuentra durante su existencia. Cuando inkCollector encuentra un nuevo cursor, el evento CursorInRange se activa con el parámetro newCursor establecido en VARIANT_TRUE. Las aplicaciones usan InkCollector para administrar nuevos cursores.
Se puede asociar más de un inkCollector a un identificador de ventana determinado, incluso si sus áreas de colección, se establecen en el constructor o con el método SetWindowInputRectangle , se superponen. Sin embargo, la única manera en que funciona este escenario es si cada inkCollector llama a SetSingleTabletIntegratedMode y usa una tableta única. Este comportamiento facilita el almacenamiento de tinta en un objeto independiente para cada tableta.
Se produce un error si el rectángulo de entrada de ventana de un InkCollectors habilitado (establecido con la propiedad Enabled ) se superpone al rectángulo de entrada de ventana de otro InkCollector habilitado.
Nota
La superposición puede producirse sin un error siempre que solo se habilite uno de los rectángulos de entrada en cualquier momento conocido.
Los eventos MouseDown, MouseMove, MouseUp y MouseWheel devuelven coordenadas x e y en píxeles, y no las unidades HIMETRIC asociadas al espacio de entrada de lápiz. Esto se debe a que estos eventos reemplazan los eventos del mouse de las aplicaciones que no reconocen el lápiz y estas aplicaciones solo comprenden píxeles.
Nota
El objeto InkCollector no se puede liberar de forma segura en un subproceso que no sea de interfaz de usuario.
Para mejorar el rendimiento de la aplicación, elimine el objeto InkCollector cuando ya no sea necesario.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows XP Tablet PC Edition [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
No se admite ninguno |
Encabezado |
|
Biblioteca |
|