Définition du contexte pour les contrôles Ink-Enabled
Toute reconnaissance pour les contrôles avec reconnaissance de l’encre se produit via un objet RecognizerContext . Les API de technologie Tablet PC vous permettent de définir la propriété Factoid sur un objet RecognizerContext .
Si vous créez une application compatible avec l’écriture manuscrite, utilisez les propriétés Factoid et de la zone de texte de l’objet RecognizerContext pour définir des contextes.
Vous pouvez transmettre les valeurs de chaîne des noms dans les étendues d’entrée définies dans l’énumération InputScope à la propriété Factoid , séparées par une ouverture ( ! et une fermeture). Par exemple, pour définir le contexte d’un objet RecognizerContext de façon à ce qu’il s’écarte des caractères utilisés dans une URL, utilisez la syntaxe indiquée dans les exemples C suivants # :
theRecoContext.Factoid = "(!IS_URL)";
Notes
les étendues d’entrée telles qu’elles sont définies dans l’énumération InputScope remplacent les factoids disponibles dans les versions précédentes du kit de développement logiciel (SDK) de Windows XP Tablet PC Edition, bien que ces factoids continuent de fonctionner pour assurer la compatibilité descendante.
L’exemple C suivant # définit la propriété Factoid pour les codes postaux :
theRecognizerContext.Factoid = "(!IS_ADDRESS_POSTALCODE)";
Vous pouvez combiner des étendues d’entrée à l’aide de la syntaxe d’expression régulière d’écriture manuscrite. Pour plus d’informations sur l’utilisation de la syntaxe des expressions régulières, consultez étendues d’entrée personnalisées avec des expressions régulières.
Vous pouvez définir des indicateurs de reconnaissance sur l’objet RecognizerContext pour affecter le comportement du module de reconnaissance. L’un de ces indicateurs est l’indicateur de forçage dans l’énumération InkRecognitionModes du RecognizerContext. L’indicateur de forçage force le module de reconnaissance à retourner un résultat qui correspond à la définition de la Factoid définie. Par exemple, si vous avez un formulaire qui oblige l’utilisateur à entrer une quantité numérique, il peut être utile de définir le _ nombre Factoid et de définir la propriété RecognitionFlags sur force. Dans cette instance, l’indicateur de forçage garantit que le module de reconnaissance retourne uniquement des nombres.
L’exemple C suivant # définit la propriété RecognitionFlags sur force:
theRecognizerContext.RecognitionFlags = RecognitionModes.Coerce;
Toutefois, soyez vigilant lorsque vous décidez de définir l’indicateur de forçage . L’indicateur force le module de reconnaissance à correspondre uniquement à la définition de Factoid. Par exemple, si vous définissez l' _ _ étendue d’entrée FULLTELEPHONENUMBER et l’indicateur de forçage , le module de reconnaissance retourne des résultats qui correspondent exactement à la définition de l’étendue de l' _ entrée de FULLTELEPHONENUMBER de téléphone _ uniquement. Si un utilisateur écrit « 911 » avec l' _ _ étendue d’entrée de téléphone FULLTELEPHONENUMBER et l’indicateur de forçage défini, le module de reconnaissance peut retourner une chaîne vide ou une chaîne aléatoire au format (xxx) xxx-xxxx (où X est un chiffre). Le format XXX ne correspond pas à la définition de l' _ opérateur is Telephone _ FULLTELEPHONENUMBER Factoid, même s’il s’agit d’un numéro de téléphone valide.
Pour obtenir la liste des formats pris en charge pour chaque étendue d’entrée, consultez la référence InputScope .
Pour rétablir la valeur par défaut d’un champ pour le module de reconnaissance, affectez la valeur _ par défaut à Factoid, comme dans l’exemple C suivant # :
theRecgonizerContext.Factoid = "(!IS_DEFAULT)";
Pour les applications qui utilisent le contrôle InkEdit , définissez le type Factoid pour le contrôle en spécifiant :
InkEdit1.Factoid = "(!IS_INPUTSCOPE)"
Où IS_INPUTSCOPE est le nom de l’étendue d’entrée que vous souhaitez appliquer.
Le contrôle InkEdit n’expose pas un objet RecognizerContext . Vous pouvez toujours assigner le contexte à l’aide de la propriété Factoid du contrôle InkEdit, mais vous ne pouvez pas définir l’indicateur WORDMODE .