RootNode.GetTextRangeFromNodes, méthode
Mise à jour : November 2007
Recherche la plage de texte dans la chaîne reconnue qui correspond à une collection d'objets ContextNode qui sont des descendants du RootNode.
Espace de noms : System.Windows.Ink
Assembly : IAWinFX (dans IAWinFX.dll)
Syntaxe
'Déclaration
Public Sub GetTextRangeFromNodes ( _
subTree As ContextNodeCollection, _
<OutAttribute> ByRef start As Integer, _
<OutAttribute> ByRef length As Integer _
)
'Utilisation
Dim instance As RootNode
Dim subTree As ContextNodeCollection
Dim start As Integer
Dim length As Integer
instance.GetTextRangeFromNodes(subTree, _
start, length)
public void GetTextRangeFromNodes(
ContextNodeCollection subTree,
out int start,
out int length
)
public:
void GetTextRangeFromNodes(
ContextNodeCollection^ subTree,
[OutAttribute] int% start,
[OutAttribute] int% length
)
public void GetTextRangeFromNodes(
ContextNodeCollection subTree,
/** @attribute OutAttribute */ /** @ref */int start,
/** @attribute OutAttribute */ /** @ref */int length
)
public function GetTextRangeFromNodes(
subTree : ContextNodeCollection,
start : int,
length : int
)
Paramètres
- subTree
Type : System.Windows.Ink.ContextNodeCollection
Collection d'objets ContextNode descendants du RootNode.
- start
Type : System.Int32%
Début de la plage de texte.
- length
Type : System.Int32%
Longueur de la plage de texte.
Notes
Si le subTree contient un objet ContextNode qui n'est pas un descendant du RootNode, une exception ArgumentException est levée.
Si le paramètre subTree contient des objets ContextNode qui ne sont pas consécutifs, la plus petite plage de texte qui couvre tous les objets ContextNode est retournée.
Exemples
L'exemple suivant prend un RootNode, theRootNode, à partir d'un InkAnalyzer nommé theInkAnalyzer et recherche le dernier WritingRegionNode en sélectionnant la zone d'écriture ayant les limites les plus basses. Il recherche ensuite la plage de texte qui correspond à la région d'écriture active, place la valeur de la méthode GetRecognizedString dans un TextBox nommé theResultsTextBox et sélectionne le texte correspondant à cette dernière région d'écriture.
Dim theRootNode As RootNode = CType(theInkAnalyzer.RootNode, RootNode)
Dim regions As ContextNodeCollection = theInkAnalyzer.FindNodesOfType(ContextNodeType.WritingRegion)
Dim lastRegion As WritingRegionNode = Nothing
Dim maxY As Double = Double.MinValue
Dim region As WritingRegionNode
For Each region In regions
If [region].Location.GetBounds().Bottom > maxY Then
maxY = [region].Location.GetBounds().Bottom
lastRegion = [region]
End If
Next region
If lastRegion Is Nothing Then
Return
End If
' Create a collection to hold this line
Dim lastRegionCollection As New ContextNodeCollection(theInkAnalyzer)
lastRegionCollection.Add(lastRegion)
' Find corresponding start and length
Dim start, length As Integer
theRootNode.GetTextRangeFromNodes(lastRegionCollection, start, length)
' Select this in the text box
theResultsTextBox.Text = theRootNode.GetRecognizedString()
theResultsTextBox.Select(start, length)
RootNode theRootNode = (RootNode)theInkAnalyzer.RootNode;
ContextNodeCollection regions =
theInkAnalyzer.FindNodesOfType(ContextNodeType.WritingRegion);
WritingRegionNode lastRegion = null;
double maxY = double.MinValue;
foreach (WritingRegionNode region in regions)
{
if (region.Location.GetBounds().Bottom > maxY)
{
maxY = region.Location.GetBounds().Bottom;
lastRegion = region;
}
}
if (lastRegion == null)
return;
// Create a collection to hold this line
ContextNodeCollection lastRegionCollection =
new ContextNodeCollection(theInkAnalyzer);
lastRegionCollection.Add(lastRegion);
// Find corresponding start and length
int start, length;
theRootNode.GetTextRangeFromNodes(lastRegionCollection, out start, out length);
// Select this in the text box
theResultsTextBox.Text = theRootNode.GetRecognizedString();
theResultsTextBox.Select(start, length);
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