Share via


WritingRegionNode (Clase)

Actualización: noviembre 2007

Representa un grupo de párrafos con orientación similar.

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

Sintaxis

'Declaración
Public NotInheritable Class WritingRegionNode _
    Inherits ContextNode
'Uso
Dim instance As WritingRegionNode
public sealed class WritingRegionNode : ContextNode
public ref class WritingRegionNode sealed : public ContextNode
public final class WritingRegionNode extends ContextNode
public final class WritingRegionNode extends ContextNode

Comentarios

Un área de escritura tiene un único orden de lectura, por ejemplo, de arriba abajo.

Algunas regiones de escritura pueden coexistir en el mismo documento y en la misma página si tienen orientaciones diferentes. Por ejemplo, si un usuario escribe notas que son principalmente horizontales pero después garabatea diagonalmente algunas palabras en una esquina, se considerará que las palabras en diagonal tienen una orientación diferente. Se crea un WritingRegion nuevo para ese texto diagonal.

Un objeto WritingRegionNode puede contener los siguientes tipos de elementos secundarios:

  • Cualquier número de objetos ParagraphNode.

  • Cualquier número de nodos con un valor Guid desconocido.

Para obtener más información, vea el tema conceptual sobre WritingRegion y AlignmentLevel.

Ejemplos

En el ejemplo siguiente se toma un objeto TextBox, selectedResultsTextBox, cuya propiedad Text se estableció previamente en el valor que devolvió GetRecognizedString para WritingRegionNode, writingRegion. El usuario ha seleccionado algún texto en el objeto TextBox. El código de ejemplo marca la propiedad Strokes que corresponde a esa selección.

' Find out what's been selected in the text box
Dim selectionStart As Integer = selectedResultsTextBox.SelectionStart
Dim selectionLength As Integer = selectedResultsTextBox.SelectionLength

' Return if no text is selected.
' selectionLength must be > 0 or GetNodesFromTextRange(...) 
' will throw an ArgumentOutOfRangeException
If selectionLength = 0 Then
    Return
End If

' Get the nodes that correspond to that range
Dim selectedRegionSubNodes As ContextNodeCollection = _
    writingRegion.GetNodesFromTextRange(selectionStart, selectionLength)

' Use the new start and length value to update the
' selection in the TextBox
selectedResultsTextBox.SelectionStart = selectionStart
selectedResultsTextBox.SelectionLength = selectionLength

' First, set all strokes to black
Dim inkStroke As Stroke
For Each inkStroke In writingRegion.Strokes
    inkStroke.DrawingAttributes = New DrawingAttributes(Color.Black)
Next inkStroke
' Next, set all selected sub nodes to red
Dim node As ContextNode
For Each node In selectedRegionSubNodes
    For Each inkStroke In node.Strokes
        inkStroke.DrawingAttributes = New DrawingAttributes(Color.Red)
    Next inkStroke
Next node
                    // Find out what's been selected in the text box
                    int selectionStart = selectedResultsTextBox.SelectionStart;
                    int selectionLength = selectedResultsTextBox.SelectionLength;

                    // Return if no text is selected.
                    // selectionLength must be > 0 or GetNodesFromTextRange(...) 
                    // will throw an ArgumentOutOfRangeException
                    if (selectionLength == 0)
                        return;

                    // Get the nodes that correspond to that range
                    ContextNodeCollection selectedRegionSubNodes =
                            writingRegion.GetNodesFromTextRange(ref selectionStart, ref selectionLength);


                    // Use the new start and length value to update the
                    // selection in the TextBox
                    selectedResultsTextBox.SelectionStart = selectionStart;
                    selectedResultsTextBox.SelectionLength = selectionLength;

                    // First, set all strokes to black
                    foreach (Stroke stroke in writingRegion.Strokes)
                        stroke.DrawingAttributes =
                                    new DrawingAttributes(Color.Black);
                    // Next, set all selected sub nodes to red
                    foreach (ContextNode node in selectedRegionSubNodes)
                    {
                        foreach (Stroke stroke in node.Strokes)
                        {
                            stroke.DrawingAttributes =
                                    new DrawingAttributes(Color.Red);
                        }
                    }

Jerarquía de herencia

System.Object
  Microsoft.Ink.ContextNode
    Microsoft.Ink.WritingRegionNode

Seguridad para subprocesos

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

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

WritingRegionNode (Miembros)

Microsoft.Ink (Espacio de nombres)