Freigeben über


Steuerelementmuster aufrufen

Beschreibt Richtlinien und Konventionen für die Implementierung von IInvokeProvider, einschließlich Informationen zu Methoden. Das Invoke-Steuerelementmuster wird verwendet, um Steuerelemente zu unterstützen, die den Zustand bei Aktivierung nicht beibehalten, sondern vielmehr eine einzelne, eindeutige Aktion initiieren oder ausführen.

Steuerelemente, die den Zustand beibehalten, z. B. Kontrollkästchen und Optionsfelder, müssen stattdessen IToggleProvider bzw . ISelectionProvider implementieren. 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

Beachten Sie beim Implementieren des Invoke-Steuerelementmusters die folgenden Richtlinien und Konventionen:

  • Steuerelemente implementieren IInvokeProvider , wenn dasselbe Verhalten nicht über einen anderen Steuerelementmusteranbieter verfügbar gemacht wird. Wenn beispielsweise die IUIAutomationInvokePattern::Invoke-Methode fü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 Ereignis Invoked (UIA_Invoke_InvokedEventId) wird für ein Steuerelement ausgelöst, das aktiviert wurde (als Antwort auf ein Steuerelement, das die zugehörige 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 Invoked-Ereignis (UIA_Invoke_InvokedEventId) sollte ausgelöst werden, bevor die Invoke-Anforderung in den folgenden Szenarien gewartet 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 das Aufrufen des Steuerelements erhebliche Nebenwirkungen hat, sollten diese Nebenwirkungen über die HelpText-Eigenschaft verfügbar gemacht werden. Wenn beispielsweise IUIAutomationInvokePattern::Invoke nicht der Auswahl zugeordnet ist, kann Invoke dazu führen, dass ein anderes Steuerelement ausgewählt wird.

  • Effekte mit dem Mauszeiger (oder Mauszeiger) stellen in der Regel kein Aufgerufenes Ereignis dar. Steuerelemente, die eine Aktion (im Gegensatz zum Auslösen eines visuellen Effekts) basierend auf dem Zeigezustand ausführen, sollten jedoch das Invoke-Steuerelementmuster 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. Beispielsweise wird beim Aufrufen eines Listenelements eines Microsoft Word-Dokuments im Ordner „Eigene Dateien“ sowohl das Element ausgewählt als auch das Dokument geöffnet.

  • Ein Element kann sofort nach dem 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. Das Füllfarbe-Steuerelement auf der Microsoft Excel-Symbolleiste implementiert beispielsweise sowohl das Invoke- als auch das ExpandCollapse-Steuerelementmuster . Das ExpandCollapse-Steuerelementmuster macht das Menü verfügbar, und das Steuerelementmuster Invoke füllt die aktive Auswahl mit der ausgewählten Farbe aus.

Erforderliche Member für IInvokeProvider

Die folgende Methode ist erforderlich, um die IInvokeProvider-Schnittstelle zu implementieren.

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 ihre unterstützten Steuerelementmuster

Übersicht über Steuerelementmuster für Benutzeroberflächenautomatisierung

Übersicht über die Benutzeroberflächenautomatisierungs-Struktur

UIA_Invoke_InvokedEventId