Freigeben über


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

 

Steuerelementtypen und ihre unterstützten Steuerelementmuster

DropTarget-Steuerelementmuster

Übersicht über Steuerelementmuster für Benutzeroberflächenautomatisierung

Übersicht über die Benutzeroberflächenautomatisierungs-Struktur

Benutzeroberflächenautomatisierung Unterstützung für Drag-and-Drop