Collection d’encres
La collection d’encres commence par le digitaliseur. Un utilisateur place un stylet sur le digitaliseur et commence à écrire. Vous pouvez utiliser les fonctionnalités de la collecte d’encres de l’API pour gérer la collection de données d’encre qui « enchaîne » à partir du stylet. Vous avez accès aux informations sur le matériel disponible sur Tablet PC par le biais de la collection de tablettes et de l’objet tablette . Vous utilisez ensuite l’objet InkCollector pour récupérer les données provenant du digitaliseur.
Tablettes et objet tablette
Une tablette représente un appareil de numérisation de Tablet PC. Un Tablet PC peut avoir plusieurs numériseurs. À l’aide de l’objet Tablet , vous pouvez interroger les appareils digitaliseurs disponibles attachés au Tablet PC et leurs capacités matérielles respectives. Par exemple, vous pouvez déterminer si la tablette avec laquelle vous travaillez est intégrée à l’affichage ou s’il s’agit d’un appareil externe distinct.
Objet InkCollector
L’objet InkCollector capture l’entrée manuscrite à partir de périphériques tablettes disponibles. L’objet InkCollector collecte uniquement les entrées manuscrites et les gestes qui sont entrés dans une fenêtre spécifique. Un récepteur d’événements très efficace rend cette entrée en temps réel. L’objet InkCollector capture l’entrée et la dirige vers un objet Ink .
Notes
La disposition simultanée d’encre avec plusieurs stylets peut ou non fonctionner, selon les capacités matérielles du périphérique numériseur.
Fonctionnement du collecteur d’encre
L’objet InkCollector s’attache à une fenêtre d’application connue. Il permet ensuite aux utilisateurs d’utiliser n’importe quel appareil Tablet PC disponible (y compris la souris) pour présenter l’encre en temps réel dans cette fenêtre. Les traits d’encre collectés sont stockés dans un objet Ink associé. Ces traits peuvent ensuite être manipulés ou envoyés à un module de reconnaissance pour la reconnaissance. L’objet InkCollector notifie également l’application lorsqu’un curseur est placé dans la plage des appareils Tablet PC utilisés.
Pour que l’objet InkCollector définisse avec précision le curseur de la souris dans une fenêtre activée pour l’écriture manuscrite, cette fenêtre doit pouvoir recevoir le message WM _ SETCURSOR . Cette opération est réussie pour toutes les fenêtres normales, mais pour un contrôle dans une boîte de dialogue, la boîte de dialogue parent du contrôle filtre ce message. Pour que le contrôle reçoive le message, définissez le style de _ notification SS .
Objet InkOverlay
L’objet InkCollector , abordé précédemment, est utile pour les applications qui fournissent leur propre modèle de sélection, de suppression et d’autres interactions avec l’utilisateur. L’objet InkOverlay est un sur-ensemble de l’objet InkCollector qui prend en charge la modification. Cela est utile pour les applications qui intègrent le dessin et la modification manuscrits dans leur propre canevas de document à l’aide d’un ensemble de modèles de sélection d’encre standard fournis par l’objet.
L’objet InkCollector et l’objet InkOverlay (ainsi que le contrôle InkPicture ) utilisent tous deux des constructions courantes, telles que l’objet Ink et la collection DrawingAttributes , afin que la méthode de base pour modifier la couleur de l’encre soit la même partout. Cela vous permet de réutiliser du code et d’avoir un accès par programme courant, ce qui peut être particulièrement important si vous offrez une prise en charge des scripts dans votre application.
InkOverlay est un objet com qui est utile pour les scénarios d’annotation dans lesquels les utilisateurs ne sont pas soucieux d’effectuer la reconnaissance de l’encre, mais qui sont intéressés par la taille, la forme, la couleur et la position de l’encre. Il est bien adapté à la création de notes et au griffonnage de base. L’interface utilisateur par défaut est un rectangle transparent avec une encre opaque.
InkOverlay étend la classe InkCollector de trois manières :
- Il déclenche des événements pour les modifications des attributs Begin-Stroke, end-Stroke et Ink.
- Il permet aux utilisateurs de sélectionner, d’effacer et de redimensionner de l’encre.
- Il prend en charge les commandes Couper, copier et coller.
Un scénario classique dans lequel InkOverlay est utile est le marquage d’une diapositive ou d’une image de présentation. L’objet InkOverlay facilite l’implémentation des fonctionnalités d’encre et de mise en page requises par ce scénario.
Pour travailler avec InkOverlay, vous pouvez :
- Instanciez un objet InkOverlay .
- Attachez le hWnd (handle, en code managé) d’une fenêtre à la propriété HWND de l’objet InkOverlay (propriété handle , en code managé).
- Affectez la valeur true à la propriété Enabled de l’objet InkOverlay .
L’objet InkOverlay comprend la prise en charge de l’impression de base, mais vous devez implémenter l’aperçu avant impression ou d’autres fonctionnalités d’impression avancées.
InkOverlay conserve l’encre au format ISF (Ink Serialized Format).
Notes
Si le EditingMode de l’objet InkOverlay est défini sur Delete ou Select, d’autres événements (tels que InkAdded, InkDeletedet Stroke) sont déclenchés. Ces événements sont utiles si vous souhaitez implémenter vos propres modes de suppression ou de sélection.
Sélection de l’encre
L’objet InkOverlay permet aux utilisateurs d’utiliser un outil lasso pour sélectionner des objets Ink contenus dans une région tracée. Les utilisateurs peuvent également sélectionner une entrée manuscrite en appuyant sur n’importe quel objet manuscrit .
Utilisez la propriété Selection pour retourner une collection de traits que vous pouvez utiliser pour manipuler la sélection d’un utilisateur.
Lorsqu’un objet Ink ou un ensemble d’objets Ink est sélectionné, les poignées de redimensionnement apparaissent aux quatre coins du cadre englobant de l’encre et à tous les milieux situés entre les angles adjacents. Si l’utilisateur fait glisser n’importe où dans la région sélectionnée, l’encre devient déplaçable à l’intérieur du contrôle.
Comportement par défaut
L’objet InkOverlay est défini pour collecter l’encre par défaut. L’encre est 53 unités d’espace d’encre larges (1 unité d’espace d’encre = 1 HIMETRIC). L’encre est noire si l’utilisateur ne s’exécute pas en mode de contraste élevé. Sinon, Ink est défini sur la valeur Color _ WINDOWTEXT (WINDOWTEXT en code managé). FitToCurve a la valeur false.
Objets curseur et bouton
Un curseur correspond à l’info-bulle du stylet utilisé sur Tablet PC. Par exemple, un crayon a deux extrémités. En règle générale, une extrémité est utilisée pour l’écriture et l’autre est utilisée pour l’effacement. Ces deux extrémités correspondent à deux curseurs. La classe Cursor ne peut pas être confondue avec System. Windows. Forms. Cursor.
Sur Tablet PC, un curseur est généralement défini pour être utilisé pour l’écriture ou l’effacement. Un curseur peut éventuellement modifier des rôles si l’application active cette fonctionnalité. Certains périphériques Tablet PC autorisent plusieurs stylets. Chaque curseur est associé à un ID de curseur unique sur le système. Un curseur peut avoir zéro ou plusieurs boutons associés. Ces boutons sont fournis à l’application en tant qu’objets CursorButton. L’application peut fournir un objet DrawingAttributes spécifique pour un curseur donné.
Objet de dessin des attributs
Un objet DrawingAttributes décrit comment un ensemble connu d’encres doit être dessiné. Un objet DrawingAttributes comprend des propriétés de base telles que Color, Widthet PenTip. Il peut également englober des paramètres avancés, tels que la transparence variable et le lissage de Bézier, qui peuvent fournir des effets intéressants ou améliorer la lisibilité de l’encre.
Objet PenInputPanel
Notes
La classe PenInputPanel a été dépréciée. La classe PenInputPanel a été remplacée par la classe TextInputPanel .
L’objet PenInputPanel vous permet d’ajouter facilement une entrée de stylet sur place à vos applications. Le PenInputPanel est disponible sous la forme d’un objet pouvant être attaché qui vous permet d’ajouter des fonctionnalités du panneau de saisie Tablet PC à des contrôles existants. L’interface utilisateur est en grande partie mandatée par la langue d’entrée actuelle. Vous avez la possibilité de choisir la méthode d’entrée par défaut pour PenInputPanel, à savoir l’écriture manuscrite ou le clavier. L’utilisateur final peut basculer entre les méthodes d’entrée à l’aide des boutons de l’interface utilisateur.