InkAnalyzer.GetNodesFromTextRange-Methode (Int32%, Int32%, ContextNodeCollection)
Gibt eine Auflistung von ContextNode-Objekten zurück, die für den angegebenen Textbereich der angegebenen Kontextknoten relevant sind.
Namespace: Microsoft.Ink
Assembly: Microsoft.Ink.Analysis (in Microsoft.Ink.Analysis.dll)
Syntax
'Declaration
Public Function GetNodesFromTextRange ( _
ByRef start As Integer, _
ByRef length As Integer, _
nodesToSearch As ContextNodeCollection _
) As ContextNodeCollection
'Usage
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
Parameter
- start
Typ: System.Int32%
Ein Verweis auf den Anfang des Textbereichs im nodesToSearch-Teil der erkannten Zeichenfolge.
- length
Typ: System.Int32%
Ein Verweis auf die Länge des Textbereichs im nodesToSearch-Teil der erkannten Zeichenfolge.
- nodesToSearch
Typ: Microsoft.Ink.ContextNodeCollection
Die ContextNode-Objekte, auf die die Suche eingegrenzt werden soll.
Rückgabewert
Typ: Microsoft.Ink.ContextNodeCollection
Die ContextNode-Objekte, die für den angegebenen Textbereich der angegebenen Kontextknoten relevant sind.
Hinweise
Der angegebene Textbereich muss relativ zum nodesToSearch-Teil der erkannten Zeichenfolge von InkAnalyzer sein, anstatt relativ zur erkannten Zeichenfolge des gesamten InkAnalyzer.
Diese Methode ändert die Werte des start-Parameters und des length-Parameters, indem der Textbereich bis zu den nächsten Wortgrenzen erweitert wird.
Wenn die erkannte Zeichenfolge beispielsweise "I am late" lautet und Sie diese Methode mit den Parameterwerten 6 für start und 1 für length aufrufen, was dem Buchstaben "a" in "late" entspricht, gibt diese Methode eine Auflistung zurück, die einen einzigen ContextNode enthält (den InkWordNode oder TextWordNode), der dem Wort "late" entspricht. Für das vorliegende Beispiel ändert diese Methode auch den Wert von start in 5 und den Wert von length in 4. Dies entspricht dem Wort "late".
Hinweis
Der start-Parameter ist relativ zur erkannten Zeichenfolge des nodesToSearch-Parameters.
Beispiele
In diesem Beispiel wird eine System.Windows.Forms.TextBox verwendet theResultsTextBox, deren Text-Eigenschaft zuvor auf die kombinierten erkannten Zeichenfolgen der Knoten in der ContextNodeCollection, nodesToSearch, festgelegt wurde. Die nodesToSearch-Auflistung enthält Kontextknoten aus InkAnalyzer, theInkAnalyzer. Im Beispielcode wird die Textfeldauswahl verwendet und es werden die Strokes markiert, die dieser Auswahl entsprechen.
' 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);
}
}
Plattformen
Windows Vista
.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Versionsinformationen
.NET Framework
Unterstützt in: 3.0