Partager via


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

Mise à jour : November 2007

Retourne une collection d'objets ContextNode pertinents pour les nœuds de contexte spécifiés.

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, _
    nodesToSearch As ContextNodeCollection _
) As ContextNodeCollection
'Utilisation
Dim instance As InkAnalyzer
Dim start As Integer
Dim length As Integer
Dim nodesToSearch As ContextNodeCollection
Dim returnValue As ContextNodeCollection

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

Paramètres

  • start
    Type : System.Int32%
    Référence au début de la plage de texte dans la portion nodesToSearch de la chaîne reconnue.
  • length
    Type : System.Int32%
    Référence à la longueur de la plage de texte dans la portion nodesToSearch de la chaîne reconnue.

Valeur de retour

Type : Microsoft.Ink.ContextNodeCollection
Objets ContextNode pertinents pour la plage de texte spécifiée pour les nœuds de contexte spécifiés.

Notes

La plage de texte spécifiée doit être relative à la portion nodesToSearch de la chaîne reconnue du InkAnalyzer, plutôt qu'à la chaîne reconnue de l'ensemble du 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 ».

ms569001.alert_note(fr-fr,VS.90).gifRemarque :

Le paramètre start est relatif à la chaîne reconnue du paramètre nodesToSearch.

Exemples

Cet exemple prend un System.Windows.Forms.TextBox (page pouvant être en anglais), theResultsTextBox, pour lequel la valeur des chaînes reconnues combinées des nœuds du ContextNodeCollection, nodesToSearch a été affectée à la propriété Text. La collection nodesToSearch contient des nœuds de contexte issus du InkAnalyzer, theInkAnalyzer. 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, nodesToSearch)

' 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, nodesToSearch);

// 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