次の方法で共有


IUIAutomationEventHandlerGroup::AddActiveTextPositionChangedEventHandler メソッド (uiautomationclient.h)

アクティブなテキスト位置が変更されたときに処理するメソッドを (イベント ハンドラー グループに) 登録します。

大事なMicrosoft UI オートメーション クライアントは、さまざまな IUIAutomation 名前空間で定義されている個々のイベント登録メソッドではなく、ハンドラー グループ メソッドを使用してイベント リスナーを登録する必要があります。

 

構文

HRESULT AddActiveTextPositionChangedEventHandler(
  [in] TreeScope                                          scope,
  [in] IUIAutomationCacheRequest                          *cacheRequest,
  [in] IUIAutomationActiveTextPositionChangedEventHandler *handler
);

パラメーター

[in] scope

処理対象のイベントのスコープ (つまり、イベントが要素自体に関するものであるか、先祖および子孫に関するものであるか)。

[in] cacheRequest

キャッシュ要求へのポインター。キャッシュが必要ない場合は NULL

[in] handler

アクティブなテキスト位置変更イベントを処理する オブジェクトへのポインター。

戻り値

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

イベント ハンドラーを実装する前に、「スレッドの問題について」で説明されているスレッドの問題 について理解しておく必要があります。

アクティブなテキスト位置は、ブックマーク (またはリソース内の場所を参照するフラグメント識別子) を使用して、読み取り専用テキスト要素 (Web ブラウザー、ポータブル ドキュメント形式 (PDF) ドキュメント、 またはPUBEPUB ドキュメントなど) 内または間のナビゲーション イベントによって示されます。 以下に例を示します。

  • 同じ Web ページ内のブックマークに移動する
  • 別の Web ページでブックマークに移動する
  • 同じ PDF 内の別の場所へのリンクをアクティブ化する
  • 同じEPUB内の別の場所へのリンクをアクティブ化する
このイベント ハンドラーを使用して、ブックマーク/ターゲットの視覚的な場所を読み取り専用テキスト要素内のフォーカスの場所と同期します。これは、ブックマークまたはフラグメント識別子を使用する場合に分岐する可能性があります。

たとえば、同じページ アンカー (<a href=”#C4”>Jump to Chapter 4</a> ... <h1><a name="C4">Chapter 4</a></h1>) が呼び出されると、ビジュアルの場所は更新されますが、UI オートメーションクライアントは元の場所に残ります。 これにより、テキストの読み取りや、新しい場所ではなく、元の場所から始まる次の項目コマンドの移動などのアクションが行われます。

同様に、新しいページ URI (フラグメント識別子: (<a href=”www.blah.com#C4”>Jump to Chapter 4</a>)) をアクティブ化すると、新しいページが読み込まれて、指定したブックマークにジャンプしますが、UI オートメーションクライアントはページの上部に残ります。

Edit コントロールや Rich Edit コントロールなどの編集可能なテキスト要素の場合は、SelectionChanged イベントをリッスンできます。

要件

要件
サポートされている最小のクライアント Windows 10 Version 1809 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server バージョン 1709 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー uiautomationclient.h (UIAutomation.h を含む)

こちらもご覧ください

IUIAutomationEventHandlerGroup