InkAnalyzer.GetNodesFromTextRange 메서드 (Int32%, Int32%)
업데이트: 2007년 11월
지정된 텍스트 범위와 관련된 ContextNode 개체의 컬렉션을 반환합니다.
네임스페이스: Microsoft.Ink
어셈블리: Microsoft.Ink.Analysis(Microsoft.Ink.Analysis.dll)
구문
‘선언
Public Function GetNodesFromTextRange ( _
ByRef start As Integer, _
ByRef length As Integer _
) As ContextNodeCollection
‘사용 방법
Dim instance As InkAnalyzer
Dim start As Integer
Dim length As Integer
Dim returnValue As ContextNodeCollection
returnValue = instance.GetNodesFromTextRange(start, _
length)
public ContextNodeCollection GetNodesFromTextRange(
ref int start,
ref int length
)
public:
ContextNodeCollection^ GetNodesFromTextRange(
int% start,
int% length
)
public ContextNodeCollection GetNodesFromTextRange(
/** @ref */int start,
/** @ref */int length
)
public function GetNodesFromTextRange(
start : int,
length : int
) : ContextNodeCollection
매개 변수
- start
형식: System.Int32%
인식된 문자열의 텍스트 범위 시작 부분에 대한 참조입니다.
- length
형식: System.Int32%
인식된 문자열의 텍스트 범위 길이에 대한 참조입니다.
반환 값
형식: Microsoft.Ink.ContextNodeCollection
지정된 텍스트 범위와 관련된 ContextNode 개체의 컬렉션입니다.
설명
지정된 텍스트 범위의 기준은 전체 InkAnalyzer의 인식된 문자열이어야 합니다.
이 메서드는 텍스트 범위를 가장 가까운 단어 경계로 확장하여 start 및 length 매개 변수의 값을 수정합니다.
예를 들어 인식된 문자열이 "I am late"인 경우 start 매개 변수 값을 6으로, length 매개 변수 값을 "late"의 문자 "a"에 해당하는 1로 설정하여 이 메서드를 호출하면 "late"라는 단어에 해당하는 단일 ContextNode, InkWordNode 또는 TextWordNode가 들어 있는 컬렉션이 반환됩니다. 예를 들어 이 메서드는 start의 값을 5로 수정하고 length의 값을 "late"라는 단어에 해당하는 4로 수정하기도 합니다.
예제
이 예제에서는 해당 Text 속성이 InkAnalyzer인 theInkAnalyzer에 대한 GetRecognizedString에서 반환된 값으로 설정된 System.Windows.Forms.TextBox인 theResultsTextBox를 사용합니다. 예제 코드에서는 텍스트 상자 선택 영역을 가져와서 해당 선택 영역에 해당하는 Strokes를 표시합니다.
' Find out what's been selected in the text box
Dim selStart As Integer = theResultsTextBox.SelectionStart
Dim selLength As Integer = theResultsTextBox.SelectionLength
' Get the nodes that correspond to that range
Dim selectedSubNodes As Microsoft.Ink.ContextNodeCollection = _
Me.theInkAnalyzer.GetNodesFromTextRange(selStart, selLength)
' Use the new start and length value to update the
' selection in the TextBox
theResultsTextBox.SelectionStart = selStart
theResultsTextBox.SelectionLength = selLength
' First, set all strokes to black
Dim theStroke As Microsoft.Ink.Stroke
For Each theStroke In Me.theInkAnalyzer.RootNode.Strokes
theStroke.DrawingAttributes = _
New Microsoft.Ink.DrawingAttributes(Color.Black)
Next theStroke
' Next, set all selected sub nodes to red
Dim theContextNode As Microsoft.Ink.ContextNode
For Each theContextNode In selectedSubNodes
For Each theStroke In theContextNode.Strokes
theStroke.DrawingAttributes = _
New Microsoft.Ink.DrawingAttributes(Color.Red)
Next theStroke
Next theContextNode
// Find out what's been selected in the text box
int selStart = theResultsTextBox.SelectionStart;
int selLength = theResultsTextBox.SelectionLength;
// Get the nodes that correspond to that range
Microsoft.Ink.ContextNodeCollection selectedSubNodes =
this.theInkAnalyzer.GetNodesFromTextRange(
ref selStart, ref selLength);
// Use the new start and length value to update the
// selection in the TextBox
theResultsTextBox.SelectionStart = selStart;
theResultsTextBox.SelectionLength = selLength;
// First, set all strokes to black
foreach (Microsoft.Ink.Stroke theStroke
in this.theInkAnalyzer.RootNode.Strokes)
{
theStroke.DrawingAttributes =
new Microsoft.Ink.DrawingAttributes(Color.Black);
}
// Next, set all selected sub nodes to red
foreach (Microsoft.Ink.ContextNode theContextNode in selectedSubNodes)
{
foreach (Microsoft.Ink.Stroke theStroke in theContextNode.Strokes)
{
theStroke.DrawingAttributes =
new Microsoft.Ink.DrawingAttributes(Color.Red);
}
}
플랫폼
Windows Vista
.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
3.0에서 지원