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 :
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. |
La classe InkCollector définit ces interfaces.
Interface | Description |
---|---|
IInkCollector | Cet objet implémente l’interface COM IInkCollector . |
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. |
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. |
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.
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 |
|
Bibliothèque |
|