Compartir a través de


CustomRecognizerNode.GetNodesFromTextRange (Método) (Int32%, Int32%)

Actualización: noviembre 2007

Devuelve una colección de objetos ContextNode descendientes que son relevantes para el intervalo de texto especificado de la cadena reconocida.

Espacio de nombres:  Microsoft.Ink
Ensamblado:  Microsoft.Ink.Analysis (en Microsoft.Ink.Analysis.dll)

Sintaxis

'Declaración
Public Function GetNodesFromTextRange ( _
    ByRef start As Integer, _
    ByRef length As Integer _
) As ContextNodeCollection
'Uso
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

Parámetros

  • start
    Tipo: System.Int32%
    Comienzo del intervalo de texto de la cadena reconocida.
  • length
    Tipo: System.Int32%
    Longitud del intervalo de texto de la cadena reconocida.

Valor devuelto

Tipo: Microsoft.Ink.ContextNodeCollection
Devuelve la colección de objetos ContextNode descendientes que son relevantes para el intervalo de texto especificado de la cadena reconocida.

Comentarios

El intervalo de texto especificado debe estar relacionado con la cadena reconocida de este objeto CustomRecognizerNode y no con la cadena reconocida de toda la propiedad RootNode.

Ejemplos

En el ejemplo siguiente, se usa un objeto TextBox, selectedResultsTextBox. Previamente, la propiedad Text se ha establecido en el valor devuelto por GetRecognizedString para un objeto CustomRecognizerNode, customRecognizer. El usuario ha seleccionado una parte del texto del objeto TextBox. Si el nivel de InkRecognitionConfidence es Strong, los Strokes que corresponden a esa selección se resaltan en rojo.

' 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);
        }
    }
}

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

Vea también

Referencia

CustomRecognizerNode (Clase)

CustomRecognizerNode (Miembros)

GetNodesFromTextRange (Sobrecarga)

Microsoft.Ink (Espacio de nombres)