Anmerkungssteuerelementmuster
Beschreibt Richtlinien und Konventionen für die Implementierung von IAnnotationProvider, einschließlich Informationen zu Eigenschaften und Methoden. Das Anmerkungssteuerelementmuster wird verwendet, um die Eigenschaften einer Anmerkung in einem Dokument verfügbar zu machen.
Ein Beispiel ist eine Kommentarblase, die sich am Rand eines Dokuments befindet und mit einem Dokumenttext oder einer Tabellenkalkulationszelle verbunden ist.
Die folgende Abbildung zeigt ein Beispiel für eine Anmerkung. Beispiele für Steuerelemente, die dieses Steuerelementmuster implementieren, finden Sie unter Steuerelementtypen und ihre unterstützten Steuerelementmuster.
Dieses Thema enthält folgende Abschnitte:
- Implementierungsrichtlinien und -konventionen
- Erforderliche Member für IAnnotationProvider
- Zugehörige Themen
Implementierungsrichtlinien und -konventionen
Beachten Sie beim Implementieren des Anmerkungssteuerelementmusters die folgenden Richtlinien und Konventionen:
- Es gibt viele verschiedene Arten von Anmerkungen. Die UiAutomationClient.h-Headerdatei definiert einen Satz benannter Konstantenwerte, die die Von Microsoft Benutzeroberflächenautomatisierung unterstützten Anmerkungstypen identifizieren. Weitere Informationen finden Sie unter Anmerkungstypbezeichner.
- Wenn Sie AnnotationType_Unknown verwenden, müssen Sie die IAnnotationProvider::AnnotationTypeName-Eigenschaft implementieren, damit Clients den Namen des Anmerkungstyps ermitteln können. Sie müssen AnnotationTypeName nicht für einen Standardanmerkungstyp implementieren, da Benutzeroberflächenautomatisierung einen Standardnamen bereitstellt. Sie können ihn jedoch implementieren, wenn Sie den Standardnamen überschreiben müssen.
- Die IAnnotationProvider::Author-Eigenschaft ist optional.
- Die IAnnotationProvider::D ateTime-Eigenschaft ist optional.
- Die IAnnotationProvider::Target-Eigenschaft ist erforderlich, da sie eine Anmerkung mit einem UI-Element verknüpft, sodass ein Client von der Anmerkung zurück zu dem UI-Element navigieren kann, auf das sich die Anmerkung bezieht.
- Da Anmerkungen viele verschiedene Formen annehmen können, definiert die IAnnotationProvider-Schnittstelle keine Eigenschaft zum Speichern des Werts oder Texts einer Anmerkung. Eine einfache Anmerkung sollte die IValueProvider-Schnittstelle verfügbar machen, und die IValueProvider::Value-Eigenschaft sollte einen schreibgeschützten Wert zurückgeben, der den Anmerkungstext angibt. Eine umfangreichere Anmerkung sollte die ITextProvider-Schnittstelle verfügbar machen, um Clients umfangreicheren Text bereitzustellen.
- Das Navigieren von einem UI-Element zu einer Anmerkung für das Element hängt wie folgt von der Art des Elements ab, das kommentiert wird:
- Implementieren Sie für Tabellenkalkulationszellen die ISpreadsheetItemProvider::GetAnnotationObjects-Methode , um auf die Anmerkung zu verweisen.
- Implementieren Sie für Textinhalte das Textattribute AnnotationObjects auf der ITextRangeProvider-Schnittstelle , um auf die Anmerkung zu verweisen.
- Einige Arten von Anmerkungen erfordern keine vollständige Implementierung der IAnnotationProvider-Schnittstelle . Beispielsweise könnte ein einfacher Rechtschreibfehlerindikator dargestellt werden, indem die ITextRangeProvider-Schnittstelle ein AnnotationTypes-Textattribute von AnnotationType_SpellingError und einen NULL-Wert für das Textattribute AnnotationObjects zurückgibt.
- Es kann hilfreich sein, die IAnnotationProvider-Schnittstelle auf einem nicht sichtbaren UI-Element zu implementieren. Sie könnten beispielsweise ein nicht sichtbares Benutzeroberflächenautomatisierung-Element erstellen, das IAnnotationProvider implementiert, um erweiterte Informationen zu einem Grammatikfehler bereitzustellen.
- Anmerkungen in einem textbasierten Steuerelement können komplex sein, wenn das Steuerelement überlappende Kommentare enthält. Verwenden Sie die folgenden Richtlinien, um komplexe Anmerkungen zu behandeln:
- Ein Textbereich ohne Anmerkungen sollte ein leeres Array für das Textattribute AnnotationTypes und ein leeres Array für das Textattribute AnnotationObjects zurückgeben.
- Ein Textbereich mit einer Anmerkung sollte ein Array mit einem ganzzahligen Wert für das AnnotationTypes-Textattribute und ein Array einer IRawElementProviderSimple-Schnittstelle für das AnnotationObjects-Textattribute zurückgeben.
- Ein Textbereich mit mehreren Anmerkungen sollte ein Array mit mehreren ganzzahligen Werten für das AnnotationTypes-Textattribute und ein Array mit einer übereinstimmenden Anzahl von IRawElementProviderSimple-Schnittstellen für das Textattribute AnnotationObjects zurückgeben.
- Ein Textbereich mit unterschiedlichen Anmerkungen, z. B. ein Bereich mit sowohl mit Anmerkungen als auch mit Anmerkungen versehenen Text, sollte die ReservedMixedAttributeValue-Eigenschaft sowohl für AnnotationTypes als auch für AnnotationObjects zurückgeben. Ein Client, der diese Antwort empfängt, kann den Textbereich unterteilen, um zu ermitteln, wo die Anmerkungen beginnen und enden.
Erforderliche Member für IAnnotationProvider
Die folgenden Eigenschaften sind erforderlich, um die IAnnotationProvider-Schnittstelle zu implementieren.
Erforderliche Member | Memberart | Hinweise |
---|---|---|
AnnotationTypeId | Eigenschaft | Keine |
AnnotationTypeName | Eigenschaft | Keine |
Autor | Eigenschaft | Keine |
Datetime | Eigenschaft | Keine |
Ziel | Eigenschaft | Keine |
Diesem Steuerelementmuster sind keine Ereignisse zugeordnet.
Zugehörige Themen
-
Steuerelementtypen und ihre unterstützten Steuerelementmuster
-
Übersicht über Steuerelementmuster für Benutzeroberflächenautomatisierung
-
Übersicht über die Benutzeroberflächenautomatisierungs-Struktur