次の方法で共有


注釈コントロール パターン

プロパティとメソッドに関する情報など、IAnnotationProviderを実装するためのガイドラインと規則について説明します。 注釈 コントロール パターンは、ドキュメント内の注釈のプロパティを公開するために使用されます。

1 つの例として、ドキュメントの余白に含まれるコメント 吹き出しがあり、ドキュメント テキストまたはスプレッドシート セルに接続されています。

次の図は、注釈の例を示しています。 このコントロール パターンを実装するコントロールの例については、「コントロールの種類とサポートされるコントロール パターンの」を参照してください。

ドキュメント のコメント の小さじを示すスクリーン ショット

このトピックには、次のセクションが含まれています。

実装のガイドラインと規則

注釈 コントロール パターンを実装する場合は、次のガイドラインと規則に注意してください。

  • 注釈にはさまざまな種類があります。 UIAutomationClient.h ヘッダー ファイルは、Microsoft UI オートメーションがサポートする注釈の種類を識別する名前付き定数値のセットを定義します。 詳細については、「注釈型識別子 」を参照してください。
  • AnnotationType_Unknownを使用する場合は、IAnnotationProvider::AnnotationTypeName プロパティを実装して、クライアントが注釈型の名前を検出できるようにする必要があります。 UI オートメーションには既定の名前が用意されているため、標準の注釈の種類 AnnotationTypeName を実装する必要はありませんが、既定の名前をオーバーライドする必要がある場合は実装できます。
  • IAnnotationProvider::Author プロパティは省略可能です。
  • IAnnotationProvider::D ateTime プロパティは省略可能です。
  • IAnnotationProvider::Target プロパティは、注釈を UI 要素にリンクするため必要です。これにより、クライアントは注釈から注釈が参照する UI 要素に戻ります。
  • 注釈にはさまざまな形式を使用できるため、IAnnotationProvider インターフェイスでは、注釈の値またはテキストを格納するためのプロパティは定義されません。 単純な注釈では、IValueProvider インターフェイスを公開する必要があります。IValueProvider::Value プロパティは、注釈テキストを指定する読み取り専用の値を返す必要があります。 より豊富な注釈では、クライアントにリッチ テキストを提供するために、ITextProvider インターフェイスを公開する必要があります。
  • UI 要素から要素の注釈への移動は、次のように注釈が付けられた要素の種類によって異なります。
  • 一部の種類の注釈では、IAnnotationProvider インターフェイスの完全な実装は必要ありません。 たとえば、ITextRangeProvider インターフェイスから AnnotationType_SpellingErrorのテキスト属性AnnotationTypes を返し、AnnotationObjects テキスト属性に null 値を返すことで、単純なスペル ミス インジケーターを表す場合があります。
  • 表示されない UI 要素に IAnnotationProvider インターフェイスを実装すると便利です。 たとえば、IAnnotationProvider 実装して文法エラーに関する拡張情報を提供する、表示されない UI オートメーション要素を作成できます。
  • テキスト ベースのコントロール内の注釈は、コントロールに重複するコメントが含まれている場合に複雑になる可能性があります。 複雑な注釈を処理するには、次のガイドラインを使用します。
    • 注釈のないテキスト範囲は、AnnotationTypes テキスト属性の空の配列と、AnnotationObjects テキスト属性の空の配列を返す必要があります。
    • 1 つの注釈を持つテキスト範囲は、AnnotationTypes テキスト属性の 1 つの整数値の配列と、AnnotationObjects テキスト属性の 1 つの IRawElementProviderSimple インターフェイスの配列を返す必要があります。
    • 複数の注釈を持つテキスト範囲は、AnnotationTypes テキスト属性の複数の整数値の配列と、AnnotationObjects テキスト属性の IRawElementProviderSimple インターフェイスの一致する数の配列を返す必要があります。
    • 注釈付きテキストと注釈なしテキストの両方を含む範囲など、さまざまな注釈を持つテキスト範囲は、AnnotationTypesAnnotationObjectsの両方の ReservedMixedAttributeValue プロパティを返す必要があります。 この応答を受け取るクライアントは、テキスト範囲を分割して、注釈の開始位置と終了位置を見つけることができます。

IAnnotationProvider に必要なメンバー

IAnnotationProvider インターフェイスを実装する場合は、次のプロパティが必要です。

必須メンバー メンバーの種類 筆記
AnnotationTypeIdする 財産 何一つ。
AnnotationTypeName 財産 何一つ。
Author 財産 何一つ。
DateTimeする 財産 何一つ。
ターゲット 財産 何一つ。

 

このコントロール パターンには、関連付けられたイベントはありません。

コントロールの種類とサポートされているコントロール パターン

UI オートメーション コントロール パターンの概要

UI オートメーション ツリーの概要