RootNode.GetTextRangeFromNodes-Methode
Sucht den Textbereich in der erkannten Zeichenfolge, der einer Auflistung von ContextNode-Objekten entspricht, die Nachfolger von RootNode sind.
Namespace: System.Windows.Ink
Assembly: IAWinFX (in IAWinFX.dll)
Syntax
'Declaration
Public Sub GetTextRangeFromNodes ( _
subTree As ContextNodeCollection, _
<OutAttribute> ByRef start As Integer, _
<OutAttribute> ByRef length As Integer _
)
'Usage
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
)
Parameter
- subTree
Typ: System.Windows.Ink.ContextNodeCollection
Die Auflistung von ContextNode-Objekten, die Nachfolger von RootNode sind.
- start
Typ: System.Int32%
Der Anfang des Textbereichs.
- length
Typ: System.Int32%
Die Länge des Textbereichs.
Hinweise
Wenn die subTree ein ContextNode-Objekt enthält, das kein Nachfolger des RootNode ist, wird eine ArgumentException-Ausnahme ausgelöst.
Wenn der subTree-Parameter nicht aufeinanderfolgende ContextNode-Objekte enthält, wird der kleinste Textbereich zurückgegeben, der sich über alle ContextNode-Objekte erstreckt.
Beispiele
Im folgenden Beispiel wird ein RootNode namens theRootNode aus einem InkAnalyzer namens theInkAnalyzer gelesen und der letzte WritingRegionNode gesucht, indem der Schreibbereich mit den kleinsten Grenzen ausgewählt wird. Anschließend wird der Textbereich gefunden, der dem aktuellen Schreibbereich entspricht; der Wert von GetRecognizedString wird in einer TextBox mit dem Namen theResultsTextBox abgelegt, und der Text, der dem letzten Schreibbereich entspricht, wird ausgewählt.
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);
Plattformen
Windows Vista
.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Versionsinformationen
.NET Framework
Unterstützt in: 3.0