Partager via


CustomRecognizerNode.GetNodesFromTextRange, méthode (Int32%, Int32%)

Mise à jour : November 2007

Retourne une collection d'objets ContextNode descendants pertinents pour la plage de texte spécifiée dans la chaîne reconnue.

Espace de noms :  Microsoft.Ink
Assembly :  Microsoft.Ink.Analysis (dans Microsoft.Ink.Analysis.dll)

Syntaxe

'Déclaration
Public Function GetNodesFromTextRange ( _
    ByRef start As Integer, _
    ByRef length As Integer _
) As ContextNodeCollection
'Utilisation
Dim instance As CustomRecognizerNode
Dim start As Integer
Dim length As Integer
Dim returnValue As ContextNodeCollection

returnValue = instance.GetNodesFromTextRange(start, _
    length)
public ContextNodeCollection GetNodesFromTextRange(
    ref int start,
    ref int length
)
public:
ContextNodeCollection^ GetNodesFromTextRange(
    int% start, 
    int% length
)
public ContextNodeCollection GetNodesFromTextRange(
    /** @ref */int start,
    /** @ref */int length
)
public function GetNodesFromTextRange(
    start : int, 
    length : int
) : ContextNodeCollection

Paramètres

  • start
    Type : System.Int32%
    Début de la plage de texte dans la chaîne reconnue.
  • length
    Type : System.Int32%
    Longueur de la plage de texte dans la chaîne reconnue.

Valeur de retour

Type : Microsoft.Ink.ContextNodeCollection
Retourne la collection d'objets ContextNode descendants pertinents pour la plage de texte spécifiée dans la chaîne reconnue.

Notes

La plage de texte spécifiée doit correspondre à la chaîne reconnue de ce CustomRecognizerNode, plutôt qu'à la chaîne reconnue du RootNode total.

Exemples

L'exemple suivant utilise une TextBox, selectedResultsTextBox (page pouvant être en anglais). La propriété Text avait auparavant la valeur retournée par la méthode GetRecognizedString pour un objet CustomRecognizerNode, customRecognizer. L'utilisateur a sélectionné du texte dans le TextBox (page pouvant être en anglais). Si le niveau du InkRecognitionConfidence est Strong, les Strokes qui correspondent à cette sélection sont affichés en rouge.

' Find out what's been selected in the text box
Dim start As Integer = selectedResultsTextBox.SelectionStart
Dim length As Integer = selectedResultsTextBox.SelectionLength

' Only highlight if strong recognition
If customRecognizer.InkRecognitionConfidence = Microsoft.Ink.InkRecognitionConfidence.Strong Then
    Dim selectedNodes As ContextNodeCollection = _
        customRecognizer.GetNodesFromTextRange(start, length)

    ' Use the new start and length value to update the
    ' selection in the TextBox
    selectedResultsTextBox.SelectionStart = start
    selectedResultsTextBox.SelectionLength = length

    ' Color the strokes red if part of the selected words.
    ' Otherwise, color them black.
    Dim theStroke As Stroke
    For Each theStroke In customRecognizer.Strokes
        theStroke.DrawingAttributes = _
                    New DrawingAttributes(Color.Black)
    Next theStroke
    Dim selectedNode As ContextNode
    For Each selectedNode In selectedNodes
        For Each theStroke In selectedNode.Strokes
            theStroke.DrawingAttributes = _
                     New DrawingAttributes(Color.Red)
        Next theStroke
    Next selectedNode
End If
// Find out what's been selected in the text box
int start = selectedResultsTextBox.SelectionStart;
int length = selectedResultsTextBox.SelectionLength;

// Return if no text is selected.
if (length == 0)
    return;

// Only highlight if strong recognition
if (customRecognizer.InkRecognitionConfidence == Microsoft.Ink.InkRecognitionConfidence.Strong)
{
    ContextNodeCollection selectedNodes =
        customRecognizer.GetNodesFromTextRange(ref start, ref length);

    // Use the new start and length value to update the
    // selection in the TextBox
    selectedResultsTextBox.SelectionStart = start;
    selectedResultsTextBox.SelectionLength = length;

    // Color the strokes red if part of the selected words.
    // Otherwise, color them black.
    foreach (Stroke stroke in customRecognizer.Strokes)
    {
        stroke.DrawingAttributes =
                    new DrawingAttributes(Color.Black);
    }
    foreach (ContextNode selectedNode in selectedNodes)
    {
        foreach (Stroke stroke in selectedNode.Strokes)
        {
            stroke.DrawingAttributes =
                     new DrawingAttributes(Color.Red);
        }
    }
}

Plateformes

Windows Vista

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Informations de version

.NET Framework

Pris en charge dans : 3.0

Voir aussi

Référence

CustomRecognizerNode, classe

Membres CustomRecognizerNode

GetNodesFromTextRange, surcharge

Microsoft.Ink, espace de noms