Condividi tramite


Metodo WritingRegionNode.GetTextRangeFromNodes

Aggiornamento: novembre 2007

Dato un insieme di oggetti ContextNode, questo metodo trova l'intervallo di testo corrispondente nella stringa riconosciuta.

Spazio dei nomi:  Microsoft.Ink
Assembly:  Microsoft.Ink.Analysis (in Microsoft.Ink.Analysis.dll)

Sintassi

'Dichiarazione
Public Sub GetTextRangeFromNodes ( _
    subTree As ContextNodeCollection, _
    <OutAttribute> ByRef start As Integer, _
    <OutAttribute> ByRef length As Integer _
)
'Utilizzo
Dim instance As WritingRegionNode
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 void GetTextRangeFromNodes(
    ContextNodeCollection subTree,
    /** @attribute OutAttribute */ /** @ref */int start,
    /** @attribute OutAttribute */ /** @ref */int length
)
public function GetTextRangeFromNodes(
    subTree : ContextNodeCollection, 
    start : int, 
    length : int
)

Parametri

  • start
    Tipo: System.Int32%
    Inizio dell'intervallo di testo.
  • length
    Tipo: System.Int32%
    Lunghezza dell'intervallo di testo.

Note

Se il parametro subTree contiene un oggetto ContextNode che non discende dall'oggetto WritingRegionNode, viene generata un'eccezione ArgumentException.

Se il parametro subTree contiene oggetti ContextNode non consecutivi, viene restituito l'intervallo di testo più piccolo in cui rientrano tutti gli oggetti ContextNode.

Esempi

Nell'esempio seguente viene individuato l'ultimo paragrafo in un oggetto WritingRegionNode, writingRegion. Successivamente, viene individuato l'intervallo di testo che corrisponde a questo paragrafo, inserito il valore dell'oggetto GetRecognizedString in un oggetto TextBox, selectedResultsTextBox e, infine, selezionato il testo che corrisponde all'ultimo paragrafo.

Dim paragraphs As ContextNodeCollection = theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.Paragraph)
Dim lastParagraph As ParagraphNode = Nothing
Dim maxY As Integer = Integer.MinValue
Dim paragraph As ParagraphNode
For Each paragraph In paragraphs
    If paragraph.Location.GetBounds().Bottom > maxY Then
        maxY = paragraph.Location.GetBounds().Bottom
        lastParagraph = paragraph
    End If
Next paragraph

If lastParagraph Is Nothing Then
    Return
End If
' Create a collection to hold this line
Dim lastParagraphCollection As New ContextNodeCollection(theInkAnalyzer)
lastParagraphCollection.Add(lastParagraph)

' Find corresponding start and length
Dim start, length As Integer
writingRegion.GetTextRangeFromNodes(lastParagraphCollection, start, length)

' Select this in the text box
selectedResultsTextBox.Text = writingRegion.GetRecognizedString()
selectedResultsTextBox.Select(start, length)
                ContextNodeCollection paragraphs =
                     theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.Paragraph);
                ParagraphNode lastParagraph = null;
                int maxY = int.MinValue;
                foreach (ParagraphNode paragraph in paragraphs)
                {
                    if (paragraph.Location.GetBounds().Bottom > maxY)
                    {
                        maxY = paragraph.Location.GetBounds().Bottom;
                        lastParagraph = paragraph;
                    }
                }

                if (lastParagraph == null)
                    return;

                // Create a collection to hold this line
                ContextNodeCollection lastParagraphCollection = new ContextNodeCollection(theInkAnalyzer);
                lastParagraphCollection.Add(lastParagraph);

                // Find corresponding start and length
                int start, length;
                writingRegion.GetTextRangeFromNodes(lastParagraphCollection, out start, out length);

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

Piattaforme

Windows Vista

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Informazioni sulla versione

.NET Framework

Supportato in: 3.0

Vedere anche

Riferimenti

WritingRegionNode Classe

Membri WritingRegionNode

Spazio dei nomi Microsoft.Ink