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