Steuerelementmuster aufrufen

Beschreibt Richtlinien und Konventionen zum Implementieren von IInvokeProvider, einschließlich Informationen zu Methoden. Das Aufrufsteuerelementmuster wird verwendet, um Steuerelemente zu unterstützen, die den Zustand nicht beibehalten, wenn aktiviert, sondern eine einzelne, eindeutige Aktion initiieren oder ausführen.

Steuerelemente, die den Zustand beibehalten, z. B. Kontrollkästchen und Optionsfelder, müssen stattdessen IToggleProvider und ISelectionProvider implementieren. Beispiele für Steuerelemente, die dieses Steuerelementmuster implementieren, finden Sie unter Steuerelementtypen und deren unterstützte Steuerelementmuster.

Dieses Thema enthält folgende Abschnitte:

Implementierungsrichtlinien und -konventionen

Beachten Sie beim Implementieren des Aufrufsteuerelementmusters die folgenden Richtlinien und Konventionen:

  • Steuerelemente implementieren IInvokeProvider , wenn das gleiche Verhalten nicht über einen anderen Steuerelementmusteranbieter verfügbar gemacht wird. Wenn beispielsweise die IUIAutomationInvokePattern::Invoke-Methodefür ein Steuerelement dieselbe Aktion wie die IUIAutomationExpandCollapsePattern::Expand- oder Collapse-Methode ausführt, sollte das Steuerelement IInvokeProvider nicht implementieren.

  • Ein Steuerelement wird normalerweise durch Klicken, Doppelklicken, Drücken der EINGABETASTE oder durch eine vordefinierte oder alternative Tastenkombination aufgerufen.

  • Das Aufrufereignis (UIA_Invoke_InvokedEventId) wird auf einem Steuerelement ausgelöst, das aktiviert wurde (als Antwort auf ein Steuerelement, das seine zugeordnete Aktion ausführt). Sofern möglich, sollte das Ereignis ausgelöst werden, nachdem das Steuerelement die Aktion abgeschlossen hat und ohne Blockierung zurückgekehrt ist. Das Aufrufereignis (UIA_Invoke_InvokedEventId) sollte ausgelöst werden, bevor die Aufrufanforderung in den folgenden Szenarien ausgeführt wird:

    • Es ist nicht möglich oder zweckmäßig, bis zum Abschluss der Aktion zu warten.
    • Die Aktion erfordert eine Benutzeraktion.
    • Die Aktion ist zeitaufwändig und führt dazu, dass der aufrufende Client für einen längeren Zeitraum blockiert wird.
  • Wenn die Eingabe des Steuerelements erhebliche Nebenwirkungen hat, sollten diese Nebenwirkungen über die HelpText-Eigenschaft verfügbar gemacht werden. Wenn z. B. IUIAutomationInvokePattern::Invoke nicht der Auswahl zugeordnet ist, kann ein anderes Steuerelement dazu führen, dass ein anderes Steuerelement ausgewählt wird.

  • Hover-Effekte (oder Mauszeiger)-Effekte stellen im Allgemeinen kein Aufrufereignis dar. Steuerelemente, die eine Aktion ausführen (im Gegensatz zur Ursache eines visuellen Effekts) basierend auf dem Mauszeigerzustand sollten jedoch das Aufrufsteuerelementmuster unterstützen.

    Hinweis

    Diese Implementierung wird als Problem für Barrierefreiheit betrachtet, wenn das Steuerelement nur als Ergebnis eines mausbezogenen Nebeneffekts aufgerufen werden kann.

  • Das Aufrufen eines Steuerelements unterscheidet sich vom Auswählen eines Elements. Abhängig vom Steuerelement kann das Aufrufen jedoch möglicherweise den Nebeneffekt haben, dass das Element ausgewählt wird. Wenn Sie beispielsweise ein Microsoft Word Dokumentlistenelement im Ordner "Meine Dokumente" aufrufen, wird das Element ausgewählt und das Dokument geöffnet.

  • Ein Element kann sofort nach Aufruf aus der Microsoft-Benutzeroberflächenautomatisierung-Struktur verschwinden. Dies kann zur Folge haben, dass das Anfordern von Informationen von dem Element, die durch den Ereignisrückruf bereitgestellt werden, fehlschlägt. Als Problemlösung wird empfohlen, zwischengespeicherte Informationen vorab abzurufen.

  • Steuerelemente können mehrere Steuerelementmuster implementieren. Beispielsweise implementiert das Füllfarbe-Steuerelement auf der Symbolleiste Microsoft Excel sowohl das Aufruf- als auch das ExpandCollapse-Steuerelementmuster. Das ExpandCollapse-Steuerelementmuster macht das Menü verfügbar, und das Aufrufsteuerelementmuster füllt die aktive Auswahl mit der ausgewählten Farbe aus.

Erforderliche Mitglieder für IInvokeProvider

Die folgende Methode ist für die Implementierung der IInvokeProvider-Schnittstelle erforderlich.

Erforderliche Member Memberart Hinweise
Invoke Methode Der Aufruf ist ein asynchroner Aufruf und muss sofort ohne Blockierung zurückgegeben werden.
Dieses Verhalten ist insbesondere für Steuerelemente wichtig, die direkt oder indirekt ein modales Dialogfeld starten, wenn sie aufgerufen werden. Jeder Benutzeroberflächenautomatisierungs-Client, der das Ereignis ausgelöst hat, bleibt blockiert, bis das modale Dialogfeld geschlossen wird.

Diesem Steuerelementmuster sind keine Eigenschaften oder Ereignisse zugeordnet.

Steuerelementtypen und deren unterstützte Steuerelementmuster

Übersicht über Steuerelementmuster für Benutzeroberflächenautomatisierung

Übersicht über die Benutzeroberflächenautomatisierungs-Struktur

UIA_Invoke_InvokedEventId