Freigeben über


CustomRecognizerNode.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 CustomRecognizerNode
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
Gibt die Auflistung von ContextNode-Nachfolgerobjekten zurück, die für den angegebenen Textbereich in der erkannten Zeichenfolge relevant sind.

Hinweise

Der Textbereich sollte relativ zur erkannten Zeichenfolge dieses CustomRecognizerNode und nicht relativ zur erkannten Zeichenfolge des gesamten RootNode angegeben werden.

Beispiele

Im folgenden Beispiel wird eine TextBox namens selectedResultsTextBox verwendet. Zuvor wurde die Text-Eigenschaft auf den Wert festgelegt, der von GetRecognizedString für ein CustomRecognizerNode-Objekt namens customRecognizer zurückgegeben wurde. Der Benutzer hat einen Teil des Texts in der TextBox ausgewählt. Wenn die InkRecognitionConfidence-Ebene Strong entspricht, werden die Strokes, die dieser Auswahl entsprechen, rot hervorgehoben.

' Find out what's been selected in the text box
Dim start As Integer = selectedResultsTextBox.SelectionStart
Dim length As Integer = selectedResultsTextBox.SelectionLength

' Only highlight if strong recognition
If customRecognizer.InkRecognitionConfidence = Microsoft.Ink.InkRecognitionConfidence.Strong Then
    Dim selectedNodes As ContextNodeCollection = _
        customRecognizer.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.
    Dim theStroke As Stroke
    For Each theStroke In customRecognizer.Strokes
        theStroke.DrawingAttributes = _
                    New DrawingAttributes(Color.Black)
    Next theStroke
    Dim selectedNode As ContextNode
    For Each selectedNode In selectedNodes
        For Each theStroke In selectedNode.Strokes
            theStroke.DrawingAttributes = _
                     New DrawingAttributes(Color.Red)
        Next theStroke
    Next selectedNode
End If
// 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;

// Only highlight if strong recognition
if (customRecognizer.InkRecognitionConfidence == Microsoft.Ink.InkRecognitionConfidence.Strong)
{
    ContextNodeCollection selectedNodes =
        customRecognizer.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 (Stroke stroke in customRecognizer.Strokes)
    {
        stroke.DrawingAttributes =
                    new DrawingAttributes(Color.Black);
    }
    foreach (ContextNode selectedNode in selectedNodes)
    {
        foreach (Stroke stroke in selectedNode.Strokes)
        {
            stroke.DrawingAttributes =
                     new 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

Siehe auch

Referenz

CustomRecognizerNode-Klasse

CustomRecognizerNode-Member

GetNodesFromTextRange-Überladung

Microsoft.Ink-Namespace