Freigeben über


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.

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

Siehe auch

Referenz

InkAnalyzer-Klasse

InkAnalyzer-Member

GetNodesFromTextRange-Überladung

Microsoft.Ink-Namespace