次の方法で共有


IUIAutomation6::RemoveActiveTextPositionChangedEventHandler メソッド (uiautomationclient.h)

アクティブなテキスト位置変更イベント ハンドラーを削除します。

重要

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

構文

HRESULT RemoveActiveTextPositionChangedEventHandler(
  [in] IUIAutomationElement                               *element,
  [in] IUIAutomationActiveTextPositionChangedEventHandler *handler
);

パラメーター

[in] element

イベント ハンドラーに関連付けられているUI オートメーション要素へのポインター。

[in] handler

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

戻り値

このメソッドは値を返しません。

解説

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

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

  • 同じ 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 イベントをリッスンできます。

イベントをサブスクライブ解除する要求と同時にイベントを受信した場合、ハンドラーの登録を解除した後にイベントをイベント ハンドラーに配信できます。 ベスト プラクティスは、コンポーネント オブジェクト モデル (COM) 標準に従い、参照カウントが 0 になるまでイベント ハンドラー オブジェクトを破棄しないようにすることです。 イベントのサブスクライブを解除した直後にイベント ハンドラーを破棄すると、イベントが遅れて配信された場合にアクセス違反が発生する可能性があります。

要件

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

こちらもご覧ください

IUIAutomation6::AddActiveTextPositionChangedEventHandlerIUIAutomation6 インターフェイス