WritingRegionNode クラス
方向が似ている段落のグループを表します。
名前空間 : Microsoft.Ink
アセンブリ : Microsoft.Ink.Analysis (Microsoft.Ink.Analysis.dll 内)
構文
'宣言
Public NotInheritable Class WritingRegionNode _
Inherits ContextNode
'使用
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
解説
手書き領域には、上から下など、単一の読み取り方向があります。
さまざまな方向が存在する場合は、同じページの同じドキュメント内に複数の手書き領域が共存できます。たとえば、ユーザーがメモを主に横方向に記述し、いくつかの単語を隅で斜めに走り書きした場合、斜めの単語は別の方向と見なされます。その斜めのテキストに、新しい WritingRegion が作成されます。
WritingRegionNode オブジェクトには、次の型の子要素を格納できます。
任意の数の ParagraphNode オブジェクト。
GUID 値が不明な任意の数のノード。
詳細については、WritingRegion および AlignmentLevel の概念に関するトピックを参照してください。
例
次の例では、TextBox、selectedResultsTextBox を使用します。この Text プロパティは、既に WritingRegionNode、writingRegion の GetRecognizedString によって返された値に設定されています。ユーザーは、TextBox 内のテキストを選択しています。コード例では、その選択内容に対応する Strokes がマークされます。
' 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);
}
}
継承階層
System.Object
Microsoft.Ink.ContextNode
Microsoft.Ink.WritingRegionNode
スレッド セーフ
この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム
Windows Vista
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 3.0