Anmerkungssteuerelementmuster
Beschreibt Richtlinien und Konventionen für die Implementierung von IAnnotationProvider-, einschließlich Informationen zu Eigenschaften und Methoden. Das Annotation Steuerelementmusters wird verwendet, um die Eigenschaften einer Anmerkung in einem Dokument verfügbar zu machen.
Ein Beispiel ist eine Kommentarsprechblase, 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 deren unterstützte Steuerelementmuster.
Dieses Thema enthält die folgenden Abschnitte.
- Implementierungsrichtlinien und -konventionen
- Erforderliche Member für IAnnotationProvider-
- Verwandte Themen
Implementierungsrichtlinien und -konventionen
Beachten Sie bei der Implementierung des Annotation Steuerelementmusters die folgenden Richtlinien und Konventionen:
- Es gibt viele verschiedene Arten von Anmerkungen. Die Headerdatei "UIAutomationClient.h" definiert einen Satz benannter Konstantenwerte, die die Von Microsoft-Benutzeroberflächenautomatisierung unterstützten Anmerkungstypen identifizieren. Weitere Informationen finden Sie unter Anmerkungstypbezeichner.
- Wenn Sie AnnotationType_Unknownverwenden, müssen Sie die IAnnotationProvider::AnnotationTypeName-Eigenschaft implementieren, damit Clients den Namen des Anmerkungstyps ermitteln können. Sie müssen AnnotationTypeName- für einen Standardanmerkungstyp nicht implementieren, da die Benutzeroberflächenautomatisierung einen Standardnamen bereitstellt, sie aber implementieren können, 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 zum UI-Element navigiert, 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 richer Text bereitzustellen.
- Das Navigieren von einem UI-Element zu einer Anmerkung für das Element hängt von der Art des Elements ab, das kommentiert wird, wie folgt:
- Implementieren Sie für Tabellenkalkulationszellen den ISpreadsheetItemProvider::GetAnnotationObjects Methode, um auf die Anmerkung zu verweisen.
- Implementieren Sie für Textinhalte das AnnotationObjects Textattribute auf der ITextRangeProvider Schnittstelle, um auf die Anmerkung zu verweisen.
- Für einige Arten von Anmerkungen ist keine vollständige Implementierung der IAnnotationProvider Schnittstelle erforderlich. Beispielsweise könnte ein einfacher Rechtschreibfehlerindikator dargestellt werden, indem die ITextRangeProvider-Schnittstelle Schnittstelle ein AnnotationTypes- Text-Attribut von AnnotationType_SpellingErrorund einen NULL-Wert für das AnnotationObjects Text-Attribut zurückgeben.
- Es kann hilfreich sein, die IAnnotationProvider Schnittstelle auf einem nicht sichtbaren UI-Element zu implementieren. Sie können beispielsweise ein nicht sichtbares Benutzeroberflächenautomatisierungs-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 AnnotationTypes-Attribut Text und ein leeres Array für das AnnotationObjects Text-Attribut zurückgeben.
- Ein Textbereich mit einer Anmerkung sollte ein Array mit einem ganzzahligen Wert für das AnnotationTypes Textattribute und ein Array eines IRawElementProviderSimple Schnittstelle für das AnnotationObjects Text-Attribut zurückgeben.
- Ein Textbereich mit mehreren Anmerkungen sollte ein Array mit mehreren ganzzahligen Werten für das AnnotationTypes-Attribut Text attribut und ein Array einer übereinstimmenden Anzahl von IRawElementProviderSimple Schnittstellen für das AnnotationObjects Textattribute zurückgeben.
- Ein Textbereich mit unterschiedlichen Anmerkungen, z. B. ein Bereich mit kommentiertem und nicht kommentiertem Text, sollte die ReservedMixedAttributeValue- eigenschaft für AnnotationTypes und AnnotationObjectszurückgeben. Ein Client, der diese Antwort empfängt, kann den Textbereich unterteilen, um zu ermitteln, wo die Anmerkungen beginnen und enden.
Erforderliche Elemente für IAnnotationProvider-
Die folgenden Eigenschaften sind für die Implementierung der IAnnotationProvider Schnittstelle erforderlich.
Erforderliche Mitglieder | Elementtyp | Notizen |
---|---|---|
AnnotationTypeId- | Eigentum | Nichts. |
AnnotationTypeName- | Eigentum | Nichts. |
Author | Eigentum | Nichts. |
DateTime- | Eigentum | Nichts. |
Ziel- | Eigentum | Nichts. |
Dieses Steuerelementmuster hat keine zugehörigen Ereignisse.
Verwandte Themen
-
Steuerelementtypen und deren unterstützte Steuerelementmuster
-
Übersicht über Steuerelementmuster für die Benutzeroberflächenautomatisierung
-
übersicht über Benutzeroberflächenautomatisierungsstruktur