WritingRegionNode.GetTextRangeFromNodes (Método)
Actualización: noviembre 2007
En una colección de objetos ContextNode, este método busca el intervalo de texto correspondiente en la cadena reconocida.
Espacio de nombres: Microsoft.Ink
Ensamblado: Microsoft.Ink.Analysis (en Microsoft.Ink.Analysis.dll)
Sintaxis
'Declaración
Public Sub GetTextRangeFromNodes ( _
subTree As ContextNodeCollection, _
<OutAttribute> ByRef start As Integer, _
<OutAttribute> ByRef length As Integer _
)
'Uso
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
)
Parámetros
- subTree
Tipo: Microsoft.Ink.ContextNodeCollection
Colección de objetos ContextNode que son descendientes del objeto WritingRegionNode.
- start
Tipo: System.Int32%
Comienzo del intervalo de texto.
- length
Tipo: System.Int32%
Longitud del intervalo de texto.
Comentarios
Si subTree contiene un objeto ContextNode que no es descendiente del objeto WritingRegionNode, se produce una excepción ArgumentException.
Si subTree contiene objetos ContextNode que no son consecutivos, se devuelve el intervalo de texto más pequeño que cubre todos los objetos ContextNode.
Ejemplos
En el ejemplo siguiente se busca el último párrafo en un objeto WritingRegionNode, writingRegion. Después se busca el intervalo de texto que corresponde a este párrafo, se coloca el valor de GetRecognizedString en un control TextBox, selectedResultsTextBox y, a continuación, se selecciona el texto que corresponde al último párrafo.
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);
Plataformas
Windows Vista
.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Información de versión
.NET Framework
Compatible con: 3.0