RSS
StartseiteKnowledge LibraryTop 10Impressum

2.16 Wie nutze ich Drag & Drop in meiner Anwendung?

Die meisten "großen" Anwendungen machen es vor: Sie markieren einen Text in Word, ziehen ihn rüber nach Excel, lassen ihn fallen und dann erscheint er dort. Man nennt diesen Vorgang "Drag & Drop" - "ziehen & fallen lassen". Sie können ihre Anwendung mit der gleichen Funktionalität ausstatten. Dazu müssen Sie nur auf das OLEDragDrop-Ereignis des entsprechenden Drop-Ziels reagieren:

Private Ziel_OLEDragDrop(Data As DataObject, Effect As Long, ...)
  Dim GezogenerText As String

  If Data.GetFormat(vbCFText) Then
    GezogenerText = Data.GetData(vbCFText)
  End If
End Sub

Die OLEDropMode- Eigenschaft des Ziel- Objekts, muss zuvor auf 1-Manuell gesetzt werden. Sie können auch auf Dateien reagieren, die der Anwender über ihre Anwendung zieht. Die Files- Eigenschaft des Data-Objekts (Data), liefert eine Auflistung der gedroppten Dateinamen:

Private Ziel_OLEDragDrop(Data As DataObject, Effect As Long, ...)
  Dim l As Long

  If Data.GetFormat(vbCFFiles) Then
    For l = 1 To Data.Files.Count
      Debug.Print Data.Files(l)
    Next
  End If
End Sub

Info: Mit der Umschalt- bzw. Steuerungstaste können Sie umschalten, ob ein Objekt verschoben oder kopiert (kleines Plus-Zeichen am Mauszeiger) werden soll.