Freigeben über


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

Siehe auch

Referenz

LineNode-Klasse

LineNode-Member

GetNodesFromTextRange-Überladung

Microsoft.Ink-Namespace