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