Freigeben über


ListBox-Steuerelement, DataObject-Objekt, MouseMove-Ereignis, StartDrag, SetText-Methoden (Beispiel)

Im folgenden Beispiel wird ein Drag-and-Drop-Vorgang von einem ListBox-Element in ein anderes veranschaulicht, indem ein DataObject verwendet wird, um den gezogenen Text zu enthalten. In diesem Codebeispiel werden die Methoden SetText und StartDrag im MouseMove-Ereignis verwendet, um den Drag-and-Drop-Vorgang zu implementieren.

Sie können dieses Beispiel verwenden, indem Sie diesen Beispielcode in den Deklarationsabschnitt eines Formulars kopieren. Stellen Sie sicher, dass im Formular zwei ListBox-Steuerelemente mit den Bezeichnungen "ListBox1" und "ListBox2" enthalten sind. Im zweiten ListBox-Element müssen Sie außerdem Auswahloptionen hinzufügen.

Private Sub ListBox2_BeforeDragOver(ByVal Cancel As _ 
 MSForms.ReturnBoolean, ByVal Data As _ 
 MSForms.DataObject, ByVal X As Single, _ 
 ByVal Y As Single, ByVal DragState As Long, _ 
 ByVal Effect As MSForms.ReturnEffect, _ 
 ByVal Shift As Integer) 
 Cancel = True 
 Effect = 1 
End Sub 
 
Private Sub ListBox2_BeforeDropOrPaste(ByVal _ 
 Cancel As MSForms.ReturnBoolean, _ 
 ByVal Action As Long, ByVal Data As _ 
 MSForms.DataObject, ByVal X As Single, _ 
 ByVal Y As Single, ByVal Effect As _ 
 MSForms.ReturnEffect, ByVal Shift As Integer) 
 Cancel = True 
 Effect = 1 
 ListBox2.AddItem Data.GetText 
End Sub 
 
Private Sub ListBox1_MouseMove(ByVal Button As _ 
 Integer, ByVal Shift As Integer, ByVal X As _ 
 Single, ByVal Y As Single) 
 Dim MyDataObject As DataObject 
 If Button = 1 Then 
 Set MyDataObject = New DataObject 
 Dim Effect As Integer 
 MyDataObject.SetText ListBox1.Value 
 Effect = MyDataObject.StartDrag 
 End If 
End Sub 
 
Private Sub UserForm_Initialize() 
 For i = 1 To 10 
 ListBox1.AddItem "Choice " _ 
 & (ListBox1.ListCount + 1) 
 Next i 
End Sub

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.