Partager via


WritingRegionNode, classe

Mise à jour : November 2007

Représente un groupe de paragraphes dont l'orientation est similaire.

Espace de noms :  Microsoft.Ink
Assembly :  Microsoft.Ink.Analysis (dans Microsoft.Ink.Analysis.dll)

Syntaxe

'Déclaration
Public NotInheritable Class WritingRegionNode _
    Inherits ContextNode
'Utilisation
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

Notes

Une région d'écriture a un sens de lecture unique, à savoir de haut en bas.

Plusieurs zones d'écriture peuvent coexister dans le même document, sur la même page, si elles ont des orientations différentes. Par exemple, si un utilisateur écrit plus ou moins horizontalement, puis gribouille quelques mots en diagonale dans un coin, l'orientation de ces derniers mots est considérée comme étant différente de celle du texte principal. Un WritingRegion est créé pour ce texte en diagonale.

Un objet WritingRegionNode peut contenir les types d'éléments enfants suivants :

  • Un nombre quelconque d'objets ParagraphNode.

  • Un nombre quelconque de nœuds comportant une valeur Guid (page pouvant être en anglais) inconnue.

Pour plus d'informations, consultez la rubrique conceptuelle sur WritingRegion et AlignmentLevel.

Exemples

L'exemple suivant prend un TextBox (page pouvant être en anglais), selectedResultsTextBox, pour lequel la valeur retournée par la méthode GetRecognizedString pour un WritingRegionNode, writingRegion a été précédemment affectée à la propriété Text (page pouvant être en anglais). L'utilisateur a sélectionné du texte dans le TextBox (page pouvant être en anglais). L'exemple de code marque la propriété Strokes qui correspond à cette sélection.

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

Hiérarchie d'héritage

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

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Plateformes

Windows Vista

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Informations de version

.NET Framework

Pris en charge dans : 3.0

Voir aussi

Référence

Membres WritingRegionNode

Microsoft.Ink, espace de noms