Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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-