Steuerelementmuster ziehen
Stellt Richtlinien und Konventionen zum Implementieren des Drag-Steuerelementmusters mithilfe von IDragProvider bereit, einschließlich Informationen zu Eigenschaften und Methoden. Das Steuerelementmuster ziehen wird verwendet, um ziehbare Steuerelemente oder Steuerelemente mit ziehbaren Elementen zu unterstützen.
Implementierungsrichtlinien und -konventionen
Verwenden Sie beim Implementieren des Steuerelementmusters Ziehen die folgenden Richtlinien und Konventionen:
- Die IDragProvider-Schnittstelle unterstützt zwei verschiedene Ziehstile: die Quell-/Zielformatvorlage und die Formatvorlage nur für die Quelle. Sie müssen die Formatvorlage auswählen, die am besten für Ihre Drag-and-Drop-Szenarien geeignet ist:
- Quell-/Zielformat: Jedes mögliche Ablageziel wird durch ein Element dargestellt, das die IDropTargetProvider-Schnittstelle implementiert. Während eines Ziehvorgangs stammen Microsoft Benutzeroberflächenautomatisierung Ereignisse von dem Element, das gezogen wird, und aus den Drop-Target-Elementen.
- Nur Quellformat: Ablageziele werden nicht durch Benutzeroberflächenautomatisierung-Elemente dargestellt. Während eines Ziehvorgangs stammen Ereignisse nur von dem Element, das gezogen wird.
- IDragProvider ist eine schreibgeschützte Schnittstelle zum Überwachen von Ziehvorgängen. Sie können ihn nicht verwenden, um einen Ziehvorgang zu steuern. Sie können Ziehvorgänge automatisieren, indem Sie Mauseingaben an ein Steuerelement senden.
- Die IDragProvider::IsGrabbed-Eigenschaft ist erforderlich.
- Die Eigenschaften IDragProvider::D ropEffect und IDragProvider::D ropEffects sind für eine quellbasierte Stilimplementierung erforderlich und für eine Quell-/Zielformatimplementierung verboten. In einer Quell-/Zielimplementierung können Drop-Target-Elemente nach ihren Drop-Effekten abgefragt werden.
- Die IDragProvider::GrabbedItems-Eigenschaft stellt das Ziehen mehrerer Elemente dar. Wenn der Benutzer den Ziehvorgang beginnt, müssen Sie ein neues Benutzeroberflächenautomatisierung-Element erstellen, das als Ereignisquellenelement dienen soll. Dieses neue Element löst alle Ereignisse aus, die das Quellelement entweder im Quell-/Zielmodus oder im Quellmodus ausgelöst hätte, während keines der Elemente, die tatsächlich gezogen werden, Ereignisse auslöst. Wenn der Ziehvorgang abgeschlossen ist, zerstören Sie das Ereignisquellenelement.
- Das Element muss eigenschaftsveränderte Ereignisse für die Eigenschaften DropEffect (UIA_DragDropEffectPropertyId) und DropEffects (UIA_DragDropEffectsPropertyId) auslösen, wenn sie sich ändern. Eigenschaftenänderungsereignisse für die anderen Eigenschaften sind zulässig, können jedoch aus den erforderlichen Ereignissen DragStart (UIA_Drag_DragStartEventId), DragCancel (UIA_Drag_DragCancelEventId) und DragComplete (UIA_Drag_DragCompleteEventId) abgeleitet werden.
Erforderliche Member für IDragProvider
Die folgenden Eigenschaften und Methoden sind für die Implementierung der IDragProvider-Schnittstelle erforderlich.
Erforderliche Member | Memberart | Hinweise |
---|---|---|
IsGrabbed | Eigenschaft | Keine |
DropEffect | Eigenschaft | Erforderlich für eine Implementierung des quellbasierten Stils. |
DropEffects | Eigenschaft | Erforderlich, wenn mehr als ein möglicher Ablageeffekt für das gepackte Element vorhanden ist. |
GetGrabbedItems | Methode | Erforderlich für einen Ziehvorgang mit mehreren Elementen. |
UIA_Drag_DragStartEventId | Ereignis | Keine |
UIA_Drag_DragCancelEventId | Ereignis | Keine |
UIA_Drag_DragCompleteEventId | Ereignis | Keine |
Zugehörige Themen
-
Steuerelementtypen und ihre unterstützten Steuerelementmuster
-
Übersicht über Steuerelementmuster für Benutzeroberflächenautomatisierung
-
Übersicht über die Benutzeroberflächenautomatisierungs-Struktur
-
Benutzeroberflächenautomatisierung Unterstützung für Drag-and-Drop