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