Sdílet prostřednictvím


CustomRecognizerNode.GetTextRangeFromNodes Method

Finds the text range in the recognized string that corresponds to a collection of ContextNode objects that are descendants of the CustomRecognizerNode object.

Namespace:  System.Windows.Ink
Assembly:  IAWinFX (in IAWinFX.dll)

Syntax

'Declaration
Public Sub GetTextRangeFromNodes ( _
    subTree As ContextNodeCollection, _
    <OutAttribute> ByRef start As Integer, _
    <OutAttribute> ByRef length As Integer _
)
'Usage
Dim instance As CustomRecognizerNode 
Dim subTree As ContextNodeCollection 
Dim start As Integer 
Dim length As Integer

instance.GetTextRangeFromNodes(subTree, _
    start, length)
public void GetTextRangeFromNodes(
    ContextNodeCollection subTree,
    out int start,
    out int length
)
public:
void GetTextRangeFromNodes(
    ContextNodeCollection^ subTree, 
    [OutAttribute] int% start, 
    [OutAttribute] int% length
)
public function GetTextRangeFromNodes(
    subTree : ContextNodeCollection, 
    start : int, 
    length : int
)

Parameters

  • start
    Type: System.Int32%

    The start location of the text range.

Remarks

If the subTree parameter contains a ContextNode object that is not a descendant of the CustomRecognizerNode, then an ArgumentException is thrown.

If the subTree parameter contains ContextNode objects that are not consecutive, then the smallest text range that covers all of the ContextNode objects is returned.

Examples

The following example takes a CustomRecognizerNode, customRecognizer, and finds the last line. It then finds the text range that corresponds to this line, puts the value of GetRecognizedString into a TextBox named selectedResultsTextBox, and selects text that corresponds to the last line.

Dim lines As ContextNodeCollection = _
    theInkAnalyzer.FindNodesOfType(ContextNodeType.Line, customRecognizer)
Dim nLines As Integer = lines.Count

' Create a collection to hold the last line 
Dim lastLineCollection As New ContextNodeCollection(theInkAnalyzer)
If nLines > 0 Then
    lastLineCollection.Add(lines((nLines - 1)))
End If 

' Find corresponding start and length 
Dim start, length As Integer
customRecognizer.GetTextRangeFromNodes(lastLineCollection, start, length)

' Select this in the text box
selectedResultsTextBox.Text = customRecognizer.GetRecognizedString()
selectedResultsTextBox.Select(start, length)
ContextNodeCollection lines =
    theInkAnalyzer.FindNodesOfType(ContextNodeType.Line, customRecognizer);
int nLines = lines.Count;

// Create a collection to hold the last line
ContextNodeCollection lastLineCollection = new ContextNodeCollection(theInkAnalyzer);
if (nLines > 0)
{
    lastLineCollection.Add(lines[nLines - 1]);
}

// Find corresponding start and length 
int start, length;
customRecognizer.GetTextRangeFromNodes(lastLineCollection, out start, out length);

// Select this in the text box
selectedResultsTextBox.Text = customRecognizer.GetRecognizedString();
selectedResultsTextBox.Select(start, length);

Platforms

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Version Information

.NET Framework

Supported in: 3.0

See Also

Reference

CustomRecognizerNode Class

CustomRecognizerNode Members

System.Windows.Ink Namespace