Partager via


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

Mise à jour : November 2007

Retourne une collection d'objets ContextNode pertinents pour la plage de texte spécifiée.

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 InkAnalyzer
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%
    Référence au début de la plage de texte dans la chaîne reconnue.
  • length
    Type : System.Int32%
    Référence à la longueur de la plage de texte dans la chaîne reconnue.

Valeur de retour

Type : Microsoft.Ink.ContextNodeCollection
Collection des objets ContextNode pertinents pour la plage de texte spécifiée.

Notes

La plage de texte spécifiée doit être relative à la chaîne reconnue de l'ensemble de InkAnalyzer.

Cette méthode modifie les valeurs des paramètres start et length en augmentant la plage de texte jusqu'aux limites du mot le plus proche.

Par exemple, si la chaîne reconnue est « Je vais bien » et que vous appelez cette méthode en affectant la valeur 9 au paramètre start et 1 au paramètre length, ce qui correspond à la lettre « i » dans « bien », cette méthode retourne une collection contenant un ContextNode unique, le InkWordNode ou le TextWordNode, qui correspond au mot « bien ». Dans cet exemple, cette méthode modifie également la valeur de start sur 8 et la valeur de length sur 4, ce qui correspond au mot « bien ».

Exemples

Cet exemple prend un System.Windows.Forms.TextBox (page pouvant être en anglais), theResultsTextBox, pour lequel la valeur précédemment retournée par la méthode GetRecognizedString pour le InkAnalyzer, theInkAnalyzer, a été affectée à la propriété Text. L'exemple de code utilise la sélection de la zone de texte et marque la propriété Strokes correspondante.

' Find out what's been selected in the text box
Dim selStart As Integer = theResultsTextBox.SelectionStart
Dim selLength As Integer = theResultsTextBox.SelectionLength

' Get the nodes that correspond to that range   
Dim selectedSubNodes As Microsoft.Ink.ContextNodeCollection = _
    Me.theInkAnalyzer.GetNodesFromTextRange(selStart, selLength)

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

' First, set all strokes to black
Dim theStroke As Microsoft.Ink.Stroke
For Each theStroke In Me.theInkAnalyzer.RootNode.Strokes
    theStroke.DrawingAttributes = _
        New Microsoft.Ink.DrawingAttributes(Color.Black)
Next theStroke

' Next, set all selected sub nodes to red
Dim theContextNode As Microsoft.Ink.ContextNode
For Each theContextNode In selectedSubNodes
    For Each theStroke In theContextNode.Strokes
        theStroke.DrawingAttributes = _
            New Microsoft.Ink.DrawingAttributes(Color.Red)
    Next theStroke
Next theContextNode
// Find out what's been selected in the text box
int selStart = theResultsTextBox.SelectionStart;
int selLength = theResultsTextBox.SelectionLength;

// Get the nodes that correspond to that range
Microsoft.Ink.ContextNodeCollection selectedSubNodes =
    this.theInkAnalyzer.GetNodesFromTextRange(
        ref selStart, ref selLength);

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

// First, set all strokes to black
foreach (Microsoft.Ink.Stroke theStroke
    in this.theInkAnalyzer.RootNode.Strokes)
{
    theStroke.DrawingAttributes =
        new Microsoft.Ink.DrawingAttributes(Color.Black);
}

// Next, set all selected sub nodes to red
foreach (Microsoft.Ink.ContextNode theContextNode in selectedSubNodes)
{
    foreach (Microsoft.Ink.Stroke theStroke in theContextNode.Strokes)
    {
        theStroke.DrawingAttributes =
            new Microsoft.Ink.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

InkAnalyzer, classe

Membres InkAnalyzer

GetNodesFromTextRange, surcharge

Microsoft.Ink, espace de noms