InkAnalyzer.GetNodesFromTextRange-Methode (Int32%, Int32%)
Gibt eine Auflistung von ContextNode-Objekten zurück, die für den angegebenen Textbereich 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 _
) As ContextNodeCollection
'Usage
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
Parameter
- start
Typ: System.Int32%
Ein Verweis auf den Anfang des Textbereichs in der erkannten Zeichenfolge.
- length
Typ: System.Int32%
Ein Verweis auf die Länge des Textbereichs in der erkannten Zeichenfolge.
Rückgabewert
Typ: Microsoft.Ink.ContextNodeCollection
Die Auflistung von ContextNode-Objekten, die für den angegebenen Textbereich relevant sind.
Hinweise
Der Textbereich sollte relativ zur erkannten Zeichenfolge des gesamten InkAnalyzer sein.
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".
Beispiele
In diesem Beispiel wird eine System.Windows.Forms.TextBox verwendet theResultsTextBox, deren Text-Eigenschaft zuvor auf den Wert festgelegt wurde, der von GetRecognizedString für den InkAnalyzer, theInkAnalyzer, zurückgegeben worden war. 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)
' 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);
}
}
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