Classe InkCollector

Représente l’objet utilisé pour capturer l’encre à partir de tablettes disponibles.

La création du contrôle InkCollector derrière un contrôle transparent (par exemple, un GroupBox avec la propriété WS_EX_TRANSPARENT définie) empêche InkCollector de collecter l’encre.

InkCollector possède les types de membres suivants :

Événements

La classe InkCollector contient ces événements.

Événement Description
CursorButtonDown Se produit quand InkCollector détecte un bouton de curseur qui est enfoncé.
CursorButtonUp Se produit quand InkCollector détecte un bouton de curseur qui est en haut.
CursorDown Se produit lorsque l’embout du curseur contacte la surface de numérisation de la tablette.
CursorInRange Se produit lorsqu’un curseur entre dans la plage de détection physique (proximité) du contexte de la tablette.
CursorOutOfRange Se produit lorsque le curseur quitte la plage de détection physique (proximité) du contexte de la tablette.
Doubleclick Se produit lorsque l’objet InkCollector est double-cliqué.
Mouvement Se produit lorsqu’un mouvement spécifique à l’application est reconnu.
Mousedown Se produit lorsque le pointeur de la souris se trouve sur l’objet InkCollector et qu’un bouton de la souris est enfoncé.
Mousemove Se produit lorsque le pointeur de la souris est déplacé sur l’objet InkCollector .
Mouseup Se produit lorsque le pointeur de la souris se trouve sur l’objet InkCollector et qu’un bouton de souris est relâché.
MouseWheel Se produit lorsque la roulette de la souris se déplace alors que l’objet InkCollector a le focus.
NewInAirPackets Se produit lorsqu’un paquet en l’air est visible, ce qui se produit lorsqu’un utilisateur déplace un stylet près de la tablette et que le curseur se trouve dans la fenêtre de l’objet InkCollector ou que l’utilisateur déplace une souris dans la fenêtre associée de l’objet InkCollector .
NewPackets Se produit lorsque l’objet InkCollector reçoit des paquets.
Trait Se produit lorsque l’utilisateur termine le dessin d’un nouveau trait sur n’importe quelle tablette.
SystemGesture Se produit lorsqu’un mouvement système est reconnu.
TabletAdded Se produit lorsqu’une tablette est ajoutée au système.
TabletRemoved Se produit lorsqu’une tablette est supprimée du système.

Interfaces

La classe InkCollector définit ces interfaces.

Interface Description
IInkCollector Cet objet implémente l’interface COM IInkCollector .

Méthodes

La classe InkCollector possède ces méthodes.

Méthode Description
GetEventInterest Récupère l’état actuel d’un événement d’objet InkCollector particulier, c’est-à-dire si l’événement est écouté ou utilisé.
GetGestureStatus Récupère si l’objet InkCollector est intéressé par un mouvement particulier.
GetWindowInputRectangle Récupère le rectangle de fenêtre, en pixels, dans lequel l’entrée manuscrite est dessinée.
SetAllTabletsMode Ce mode permet à l’objet InkCollector de collecter l’encre de n’importe quelle tablette attachée au Tablet PC.
SetEventInterest Modifie une valeur qui indique si un événement spécifique doit être écouté ou utilisé.
SetGestureStatus Modifie l’intérêt de l’objet InkCollector dans un mouvement connu.
SetSingleTabletIntegratedMode Ce mode permet à l’objet InkCollector de collecter l’encre d’un seul comprimé. L’entrée manuscrite d’autres tablettes est ignorée par l’objet InkCollector .
SetWindowInputRectangle Modifie le rectangle de fenêtre, en pixels, à utiliser pour mapper l’encre dessinée à la fenêtre.

Propriétés

La classe InkCollector possède ces propriétés.

Propriété Type d’accès Description
Redessinage automatique
Lecture seule
Obtient ou définit une valeur qui spécifie si InkCollector repeint l’encre lorsque la fenêtre est invalidée.
CollectingInk
Lecture seule
Obtient une valeur qui spécifie si l’encre est en cours de dessin sur un objet InkCollector .
CollectionMode
Lecture seule
Obtient ou définit le mode de collection qui détermine si l’entrée manuscrite, les mouvements ou les deux sont reconnus au fur et à mesure que l’utilisateur écrit.
Curseurs
Lecture seule
Obtient la collection Cursors qui est disponible pour une utilisation dans la région d’entrée manuscrite.
DefaultDrawingAttributes
Lecture seule
Obtient ou définit l’objet InkDrawingAttributes par défaut, qui spécifie les attributs de dessin utilisés lors du dessin et de l’affichage de l’encre.
DesiredPacketDescription
Lecture seule
Obtient ou définit l’intérêt pour les aspects du paquet associé à l’encre dessinée sur l’objet InkCollector .
DynamicRendering
Lecture seule
Obtient ou définit une valeur qui indique si l’entrée manuscrite est rendue telle qu’elle est dessinée.
activé
Lecture seule
Obtient ou définit une valeur qui spécifie si l’objet InkCollector collecte l’entrée du stylet.
Poignée
Lecture seule
Obtient ou définit le handle de la fenêtre à laquelle l’objet InkCollector est attaché.
Entrée manuscrite
Lecture seule
Obtient ou définit l’objet InkDisp associé à l’objet InkCollector .
MarginX
Lecture seule
Obtient ou définit les marges le long de l’axe X, en pixels.
MarginY
Lecture seule
Obtient ou définit les marges le long de l’axe y, en pixels.
MouseIcon
Lecture seule
Obtient ou définit l’icône de souris personnalisée actuelle.
MousePointer
Lecture seule
Obtient ou définit une valeur qui indique le type de pointeur de souris qui apparaît lorsque la souris se trouve sur une partie particulière de l’objet.
Renderer
Lecture seule
Obtient ou définit l’objet InkRenderer utilisé pour dessiner des entrées manuscrites.
SupportHighContrastInk
Lecture seule
Obtient ou définit une valeur qui spécifie si l’entrée manuscrite est rendue comme une seule couleur lorsque le système est en mode Contraste élevé.
Tablette
Lecture seule
Obtient le périphérique de tablette que l’objet InkCollector utilise actuellement pour collecter des entrées.

Notes

Cet objet peut être instancié en appelant la méthode CoCreateInstance en C++.

L’objet InkCollector collecte uniquement les entrées manuscrites et les mouvements entrés dans la fenêtre spécifique à laquelle il est associé. Le seul objectif d’InkCollector est de collecter l’encre à partir du matériel (par exemple, par le biais d’un objet IInkCursor et IInkTablet ) et de la remettre à une application. Il agit essentiellement en tant que source qui distribue l’encre dans un ou plusieurs objets InkDisp différents, qui jouent le rôle de conteneur qui contiennent l’encre distribuée.

Pour utiliser un InkCollector, vous le créez, indiquez-le dans quelle fenêtre collecter l’encre dessinée et l’activez. Une fois qu’il est activé, il peut être défini pour collecter uniquement dans l’un des trois modes (le mode est spécifié dans l’énumération InkCollectionMode ) :

  • InkOnly, dans lequel un objet IInkStrokeDisp est créé.
  • GestureOnly, dans lequel un objet IInkGesture est créé.
  • InkAndGesture, dans lequel un trait, un mouvement ou potentiellement les deux sont créés, selon la façon dont l’application gère les événements.

Cela signifie que, pour chaque mouvement d’un curseur qui se trouve dans la plage d’une tablette, l’InkCollector collecte toujours un trait ou un mouvement, et parfois les deux. La prise en charge des mouvements est intégrée à l’aide du module de reconnaissance de mouvements Microsoft.

Un InkCollector gère toutes les entrées de tablette. L’entrée manuscrite peut être collectée à partir de toutes les tablettes jointes (y compris la souris) simultanément. Les modifications apportées aux objets IInkCursor et IInkCursorButton peuvent provoquer le déclenchement d’un événement par l’objet InkCollector .

Un InkCollector gère également la liste des curseurs qu’il rencontre au cours de son existence. Lorsque inkCollector rencontre un nouveau curseur, l’événement CursorInRange se déclenche avec le paramètre newCursor défini sur VARIANT_TRUE. Les applications utilisent InkCollector pour gérer les nouveaux curseurs.

Plusieurs InkCollector peuvent être associés à un handle de fenêtre particulier, même si leurs zones de collection, définies dans le constructeur ou avec la méthode SetWindowInputRectangle , se chevauchent. Toutefois, la seule façon dont ce scénario fonctionne est si chaque InkCollector appelle SetSingleTabletIntegratedMode et utilise une tablette unique. Ce comportement facilite le stockage de l’entrée manuscrite dans un objet distinct pour chaque tablette.

Une erreur se produit si le rectangle d’entrée de fenêtre d’un InkCollectors activé (défini avec la propriété Enabled ) chevauche le rectangle d’entrée de fenêtre d’un autre InkCollector activé.

Notes

Le chevauchement peut se produire sans erreur tant qu’un seul des rectangles d’entrée est activé à un moment connu.

Les événements MouseDown, MouseMove, MouseUp et MouseWheel retournent les coordonnées x et y en pixels, et non les unités HIMETRIC associées à l’espace d’entrée manuscrite. Cela est dû au fait que ces événements remplacent les événements de souris des applications qui ne connaissent pas le stylet et que ces applications comprennent uniquement les pixels.

Notes

L’objet InkCollector ne peut pas être libéré en toute sécurité sur un thread autre que l’interface utilisateur.

Pour améliorer les performances de votre application, éliminez votre objet InkCollector lorsqu’il n’est plus nécessaire.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows XP Édition Tablette PC [applications de bureau uniquement]
Serveur minimal pris en charge
Aucun pris en charge
En-tête
Msinkaut.h (nécessite également Msinkaut_i.c)
Bibliothèque
InkObj.dll

Voir aussi

Informations de référence sur le contôle InkEdit

InkDisp, classe

InkOverlay, classe

Référence du contrôle InkPicture