Steuerelementmuster ziehen
Enthält Richtlinien und Konventionen für die Implementierung des Drag-Steuerelementmusters mithilfe IDragProvider-, einschließlich Informationen zu Eigenschaften und Methoden. Das Ziehen Steuerelementmusters wird verwendet, um ziehbare Steuerelemente oder Steuerelemente mit ziehbaren Elementen zu unterstützen.
Implementierungsrichtlinien und -konventionen
Verwenden Sie beim Implementieren des Ziehen Steuerelementmusters die folgenden Richtlinien und Konventionen:
- Die IDragProvider Schnittstelle unterstützt zwei verschiedene Ziehstile: die Quell-/Zielformatvorlage und die schreibgeschützte Formatvorlage. Sie müssen die Formatvorlage auswählen, die für Ihre Drag-and-Drop-Szenarien am besten geeignet ist:
- Quell-/Zielformatvorlage: Jedes mögliche Dropziel wird durch ein Element dargestellt, das die IDropTargetProvider Schnittstelle implementiert. Während eines Ziehvorgangs stammen Microsoft-Benutzeroberflächenautomatisierungsereignisse aus dem Element, das gezogen wird, und aus den Drop-Zielelementen.
- Schreibstil: Dropziele werden nicht durch Benutzeroberflächenautomatisierungselemente dargestellt. Während eines Ziehvorgangs stammen Ereignisse nur aus dem Element, das gezogen wird.
- IDragProvider- ist eine schreibgeschützte Schnittstelle zur Überwachung von Ziehvorgängen. Sie können ihn nicht zum Steuern eines Ziehvorgangs verwenden. Sie können Ziehvorgänge automatisieren, indem Sie Mauseingaben an ein Steuerelement senden.
- Die IDragProvider::IsGrabbed--Eigenschaft ist erforderlich.
- Die IDragProvider::D ropEffect und IDragProvider::D ropEffects Eigenschaften sind für eine Implementierung von Quell-/Zielstilen erforderlich und für eine Implementierung im Quell-/Zielstil unzulässig. In einer Implementierung im Quell-/Zielstil 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 startet, müssen Sie ein neues Benutzeroberflächenautomatisierungs-Element erstellen, das als Ereignisquellelement fungiert. Dieses neue Element löst alle Ereignisse aus, die das Quellelement entweder im Quell-/Ziel- oder quellgeschützten Modus ausgelöst hätte, während keines der Elemente, die tatsächlich gezogen werden, alle Ereignisse auslösen würde. Wenn der Ziehvorgang abgeschlossen ist, zerstören Sie das Ereignisquellelement.
- Das Element muss Eigenschaftsänderungsereignisse für die DropEffect- (UIA_DragDropEffectPropertyId) und DropEffects (UIA_DragDropEffectsPropertyId) Eigenschaften auslösen, wenn sie sich ändern. Eigenschaftsänderungsereignisse für die anderen Eigenschaften sind zulässig, können jedoch von den erforderlichen DragStart- (UIA_Drag_DragStartEventId), DragCancel (UIA_Drag_DragCancelEventId) und DragComplete (UIA_Drag_DragCompleteEventId) -Ereignisse abgeleitet werden.
Erforderliche Elemente für IDragProvider-
Die folgenden Eigenschaften und Methoden sind für die Implementierung der IDragProvider Schnittstelle erforderlich.
Erforderliche Mitglieder | Elementtyp | Notizen |
---|---|---|
IsGrabbed | Eigentum | Nichts |
DropEffect- | Eigentum | Erforderlich für eine Implementierung des schreibgeschützten Quellstils. |
DropEffects- | Eigentum | Erforderlich, wenn mehr als ein möglicher Drop-Effekt für das gepackte Element vorhanden ist. |
GetGrabbedItems- | Methode | Erforderlich für einen Ziehvorgang mit mehreren Elementen. |
UIA_Drag_DragStartEventId | Ereignis | Nichts |
UIA_Drag_DragCancelEventId | Ereignis | Nichts |
UIA_Drag_DragCompleteEventId | Ereignis | Nichts |
Verwandte Themen
-
Steuerelementtypen und deren unterstützte Steuerelementmuster
-
Übersicht über Steuerelementmuster für die Benutzeroberflächenautomatisierung
-
übersicht über Benutzeroberflächenautomatisierungsstruktur
-
Benutzeroberflächenautomatisierungsunterstützung für Drag-and-Drop-