TextPatternRange.GetText(Int32) メソッド

定義

テキスト範囲のプレーンテキストを返します。

public:
 System::String ^ GetText(int maxLength);
public string GetText (int maxLength);
member this.GetText : int -> string
Public Function GetText (maxLength As Integer) As String

パラメーター

maxLength
Int32

返す文字列の最大長。 制限が必要ない場合は、 -1 を使用します。

戻り値

テキスト範囲のプレーンテキスト。指定した maxLength で切り捨てられている可能性があります。

例外

maxLength が -1 より小さい場合。

 private String TextFromSelection(AutomationElement target, Int32 length)
{
    // 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();

    // GetText(-1) retrieves all characters but can be inefficient
    return currentSelection[0].GetText(length);
}
Private Function TextFromSelection(ByVal target As AutomationElement, ByVal length As Int32) As String
    ' 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()
    ' GetText(-1) retrieves all characters but can be inefficient
    Return currentSelection(0).GetText(length)
End Function

注釈

GetText は、非表示のテキストと表示されるテキストの両方を尊重します。 UI オートメーション クライアントは、 をチェックしてIsHiddenAttributeテキストを表示できます。

が呼び出し元のテキスト範囲の長さを超える場合 maxLength 、返される文字列はテキスト範囲のプレーン テキストになります。

GetText は、テキスト フロー内のエンドポイントの順序の影響を受けなくなります。論理テキスト フローの順序で、テキスト範囲の Start エンドポイントと End エンドポイントの間のテキストが常に返されます。

適用対象

こちらもご覧ください