다음을 통해 공유


TextPatternRange.GetBoundingRectangles 메서드

정의

텍스트 범위에서 완전히 표시되거나 부분적으로 표시되는 각 텍스트 줄의 경계 사각형 컬렉션을 검색합니다.

public:
 cli::array <System::Windows::Rect> ^ GetBoundingRectangles();
public System.Windows.Rect[] GetBoundingRectangles ();
member this.GetBoundingRectangles : unit -> System.Windows.Rect[]
Public Function GetBoundingRectangles () As Rect()

반환

Rect[]

텍스트 범위에서 완전히 표시되거나 부분적으로 표시되는 각 텍스트 줄의 경계 사각형 배열입니다.

디제너레이트 텍스트 범위의 경우 빈 배열이 반환됩니다.

텍스트 범위의 화면 좌표가 화면에서 완전히 벗어나거나, 스크롤되어 표시되지 않거나, 겹치는 창으로 가려진 경우 빈 배열이 반환됩니다.

예제

 private Rect[] BoundingRectanglesFromSelection(AutomationElement target)
{
    // Specify the control type we're looking for, in this case 'Document'
    PropertyCondition cond = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document);

    // target --> The root AutomationElement.
    AutomationElement textProvider = target.FindFirst(TreeScope.Descendants, cond);

    TextPattern textpatternPattern = textProvider.GetCurrentPattern(TextPattern.Pattern) as TextPattern;

    if (textpatternPattern == null)
    {
        Console.WriteLine("Root element does not contain a descendant that supports TextPattern.");
        return null;
    }
    TextPatternRange[] currentSelection = textpatternPattern.GetSelection();

    return currentSelection[0].GetBoundingRectangles();
}
Private Function BoundingRectanglesFromSelection(ByVal target As AutomationElement) As Rect()
    ' Specify the control type we're looking for, in this case 'Document'
    Dim cond As PropertyCondition = New PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document)

    ' target --> The root AutomationElement.
    Dim textProvider As AutomationElement = target.FindFirst(TreeScope.Descendants, cond)

    Dim textpatternPattern As TextPattern = CType(textProvider.GetCurrentPattern(TextPattern.Pattern), TextPattern)

    If (textpatternPattern Is Nothing) Then
        Console.WriteLine("Root element does not contain a descendant that supports TextPattern.")
        Return Nothing
    End If
    Dim currentSelection As TextPatternRange() = textpatternPattern.GetSelection()
    Return currentSelection(0).GetBoundingRectangles()
End Function

적용 대상