RootNode.GetTextRangeFromNodes, méthode
Mise à jour : November 2007
Recherche la plage texte dans la chaîne reconnue qui correspond à une collection d'objets ContextNode qui sont des descendants du RootNode.
Espace de noms : Microsoft.Ink
Assembly : Microsoft.Ink.Analysis (dans Microsoft.Ink.Analysis.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 : Microsoft.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 descendant du RootNode, une exception ArgumentException (page pouvant être en anglais) 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, 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 à cette région d'écriture, met la valeur de la méthode GetRecognizedString dans un TextBox (page pouvant être en anglais), theResultsTextBox, puis sélectionne le texte qui correspond à cette dernière région d'écriture.
Dim theRootNode As RootNode = CType(theInkAnalyzer.RootNode, RootNode)
Dim regions As ContextNodeCollection = _
theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.WritingRegion)
Dim lastRegion As WritingRegionNode = Nothing
Dim maxY As Integer = Integer.MinValue
Dim aRegion As WritingRegionNode
For Each aRegion In regions
If aRegion.Location.GetBounds().Bottom > maxY Then
maxY = aRegion.Location.GetBounds().Bottom
lastRegion = aRegion
End If
Next aRegion
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(Microsoft.Ink.ContextNodeType.WritingRegion);
WritingRegionNode lastRegion = null;
int maxY = int.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