LineNode.GetNodesFromTextRange-Methode (Int32%, Int32%)
Gibt eine Auflistung von ContextNode-Nachfolgerobjekten zurück, die für den angegebenen Textbereich in der erkannten Zeichenfolge 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 LineNode
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%
Der Anfang des Textbereichs in der erkannten Zeichenfolge.
- length
Typ: System.Int32%
Die Länge des Textbereichs in der erkannten Zeichenfolge.
Rückgabewert
Typ: Microsoft.Ink.ContextNodeCollection
Die Auflistung von ContextNode-Nachfolgerobjekten, die für den angegebenen Textbereich in der erkannten Zeichenfolge relevant sind.
Hinweise
Der Textbereich sollte relativ zur erkannten Zeichenfolge dieses LineNode und nicht relativ zur erkannten Zeichenfolge des gesamten RootNode angegeben werden.
Der start-Parameter und der length-Parameter sind Verweise, da ihre Werte geändert werden können. Wenn beispielsweise der Rückgabewert von GetRecognizedString "I am late" ist und Sie die Werte start = 6 und length = 1 übergeben, was dem Buchstaben "a" entspricht, enthält die ContextNodeCollection wahrscheinlich nur einen ContextNode, nämlich den InkWordNode, der dem Wort "late" entspricht. In diesem Fall wird der Wert von start in 5 und der Wert von length in 4 geändert, was dem gesamten Wort "late" entspricht.
Beispiele
Im folgenden Beispiel wird ein TextBox-Steuerelement (selectedResultsTextBox) verwendet, dessen TextBox.Text-Eigenschaft zuvor auf den Wert festgelegt wurde, der von GetRecognizedString für einen LineNode (line) zurückgegeben worden war. Der Benutzer hat Text in der TextBox ausgewählt. Im Beispielcode wird die Auswahl erfasst, und die Strokes werden markiert, die dieser Auswahl entsprechen.
' Find out what's been selected in the text box
Dim start As Integer = selectedResultsTextBox.SelectionStart
Dim length As Integer = selectedResultsTextBox.SelectionLength
' Return if no text is selected.
If start = 0 Then
Return
End If
' Get the nodes that correspond to that range
Dim selectedNodes As ContextNodeCollection
selectedNodes = line.GetNodesFromTextRange(start, length)
' Use the new start and length value to update the
' selection in the TextBox
selectedResultsTextBox.SelectionStart = start
selectedResultsTextBox.SelectionLength = length
' Color the strokes red if part of the selected words.
' Otherwise, color them black.
For Each node As ContextNode In line.SubNodes
Dim inkStroke As Stroke
For Each inkStroke In node.Strokes
If selectedNodes.Contains(node) Then
inkStroke.DrawingAttributes = New DrawingAttributes(Color.Red)
Else
inkStroke.DrawingAttributes = New DrawingAttributes(Color.Black)
End If
Next inkStroke
Next node
// Find out what's been selected in the text box
int start = selectedResultsTextBox.SelectionStart;
int length = selectedResultsTextBox.SelectionLength;
// Return if no text is selected.
if (length == 0)
return;
// Get the nodes that correspond to that range
ContextNodeCollection selectedNodes =
line.GetNodesFromTextRange(ref start, ref length);
// Use the new start and length value to update the
// selection in the TextBox
selectedResultsTextBox.SelectionStart = start;
selectedResultsTextBox.SelectionLength = length;
// Color the strokes red if part of the selected words.
// Otherwise, color them black.
foreach (ContextNode node in line.SubNodes)
{
foreach (Stroke stroke in node.Strokes)
{
if (selectedNodes.Contains(node))
{
stroke.DrawingAttributes =
new DrawingAttributes(Color.Red);
}
else
{
stroke.DrawingAttributes =
new DrawingAttributes(Color.Black);
}
}
}
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