Udostępnij za pośrednictwem


Wzorzec kontrolki adnotacji

Opisuje wytyczne i konwencje implementowania IAnnotationProvider, w tym informacje o właściwościach i metodach. Wzorzec kontrolki adnotacji służy do uwidaczniania właściwości adnotacji w dokumencie.

Przykładem jest dymek komentarza, który znajduje się na marginesie dokumentu i jest połączony z tekstem dokumentu lub komórką arkusza kalkulacyjnego.

Na poniższej ilustracji przedstawiono przykład adnotacji. Aby zapoznać się z przykładami kontrolek implementujących ten wzorzec kontrolki, zobacz typy kontrolek i obsługiwane wzorce kontrolek.

zrzut ekranu przedstawiający balun komentarza w dokumencie

Ten temat zawiera następujące sekcje.

Wytyczne i konwencje implementacji

Podczas implementowania wzorca kontrolki adnotacji należy pamiętać o następujących wytycznych i konwencjach:

  • Istnieje wiele różnych rodzajów adnotacji. Plik nagłówka UIAutomationClient.h definiuje zestaw nazwanych wartości stałych, które identyfikują typy adnotacji obsługiwane przez usługę Microsoft UI Automation. Aby uzyskać więcej informacji, zobacz identyfikatory typów adnotacji .
  • Jeśli używasz AnnotationType_Unknown, musisz zaimplementować właściwość IAnnotationProvider::AnnotationTypeName, aby umożliwić klientom odnajdywanie nazwy typu adnotacji. Nie trzeba implementować AnnotationTypeName dla standardowego typu adnotacji, ponieważ usługa Automatyzacja interfejsu użytkownika udostępnia nazwę domyślną, ale można ją zaimplementować, jeśli musisz zastąpić nazwę domyślną.
  • Właściwość IAnnotationProvider::Author jest opcjonalna.
  • Właściwość IAnnotationProvider::D ateTime jest opcjonalna.
  • Właściwość IAnnotationProvider::Target jest wymagana, ponieważ łączy adnotację z elementem interfejsu użytkownika, umożliwiając klientowi przechodzenie z adnotacji z powrotem do elementu interfejsu użytkownika, do którego odwołuje się adnotacja.
  • Ponieważ adnotacje mogą przyjmować wiele różnych formularzy, interfejs IAnnotationProvidernie definiuje właściwości do przechowywania wartości ani tekstu adnotacji. Prosta adnotacja powinna uwidocznić interfejs IValueProvider, a właściwość IValueProvider::Value powinna zwrócić wartość tylko do odczytu określającą tekst adnotacji. Bogatsza adnotacja powinna uwidocznić interfejs ITextProvider, aby udostępnić klientom bardziej rozbudowany tekst.
  • Nawigowanie z elementu interfejsu użytkownika do adnotacji od elementu zależy od rodzaju elementu, który jest adnotacją, w następujący sposób:
  • Niektóre rodzaje adnotacji nie wymagają pełnej implementacji interfejsu IAnnotationProvider. Na przykład prosty wskaźnik błędu pisowni może być reprezentowany przez użycie interfejsu ITextRangeProvider zwraca atrybut tekstowy AnnotationTypes atrybutu tekstowego AnnotationType_SpellingErrororaz wartość null atrybutu AnnotationObjects atrybutu tekstowego.
  • Może być przydatne zaimplementowanie interfejsu IAnnotationProvider w elemecie interfejsu użytkownika, który nie jest widoczny. Można na przykład utworzyć nieoznaczniający element automatyzacji interfejsu użytkownika, który implementuje IAnnotationProvider w celu udostępnienia rozszerzonych informacji o błędzie gramatycznym.
  • Adnotacje w kontrolce opartej na tekście mogą być złożone, jeśli kontrolka zawiera nakładające się komentarze. Skorzystaj z poniższych wskazówek, aby obsługiwać złożone adnotacje:

Wymagane elementy członkowskie IAnnotationProvider

Następujące właściwości są wymagane do zaimplementowania interfejsu IAnnotationProvider.

Wymagane elementy członkowskie Typ elementu członkowskiego Notatki
AnnotationTypeId Własność Żaden.
AnnotationTypeName Własność Żaden.
Author Własność Żaden.
datetime Własność Żaden.
target Własność Żaden.

 

Ten wzorzec kontrolki nie ma skojarzonych zdarzeń.

typów kontrolek i ich obsługiwanych wzorców kontrolek

Wzorce kontrolek automatyzacji interfejsu użytkownika — omówienie

Omówienie drzewa automatyzacji interfejsu użytkownika