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 は、テキスト フロー内のエンドポイントの順序の影響を受けなくなります。論理テキスト フローの順序で、テキスト範囲の開始エンドポイントと終了エンドポイントの間のテキストが常に返されます。

適用対象

こちらもご覧ください