Verfasst: 08.06.2007 02:43


Danke noch und gute Nacht Duli
Code: Alles auswählen
Zieldatei$ = GetGadgetItemText(#explorerfeld2, SourceItem, 0)
Code: Alles auswählen
Enumeration ; hier kommen alle Windows rein
#Hauptfenster
EndEnumeration
Enumeration ; hier sind die gadgets
#explorerfeld1
#explorerfeld2
EndEnumeration
If OpenWindow(#Hauptfenster, 200, 200, 430, 400, "Drag & Drop", #PB_Window_SystemMenu)
CreateGadgetList(WindowID(0))
ExplorerListGadget(#explorerfeld1, 10, 10, 200, 380, "*", #PB_Explorer_MultiSelect)
ExplorerListGadget(#explorerfeld2, 210, 10, 200, 380, "*", #PB_Explorer_MultiSelect)
EnableGadgetDrop(#explorerfeld1, #PB_Drop_Files, #PB_Drag_Copy)
EnableGadgetDrop(#explorerfeld2, #PB_Drop_Files, #PB_Drag_Copy)
Repeat
event = WaitWindowEvent()
If Event = #PB_Event_Gadget And EventGadget() = 1 And EventType() = #PB_EventType_DragStart
Files$ = ""
For i = 0 To CountGadgetItems(1)-1
If GetGadgetItemState(1, i) & #PB_Explorer_Selected
Files$ + GetGadgetText(1) + GetGadgetItemText(1, i) + Chr(10)
EndIf
Next i
DragFiles(Files$)
ElseIf event = #PB_Event_GadgetDrop
Zieldatei$ = GetGadgetItemText(#explorerfeld2, SourceItem, 0)
Debug Zieldatei$
Dateien.s = EventDropFiles(); den String mit den Dateinamen in Variable speichern
Anzahl = CountString(Dateien, Chr(10)) + 1; Anzahl ermitteln
ev = EventDropAction() ;hier wird zurückgegeben auf welche art gedropt werden soll
For I = 1 To Anzahl
If ev = #PB_Drag_Copy ;hier wird weiter gemacht wenn das Drag & Drop im EnableGadgetDrop mit Option Copy versehen ist.
CopyFile(StringField(Dateien, I, Chr(10)), Zieldatei$)
EndIf
If ev = #PB_Drag_Move ;hier wäre ein verschieben der Daten möglich zum Programmieren
EndIf
Next
EndIf
Until event = #PB_Event_CloseWindow
EndIf
Code: Alles auswählen
ElseIf event = #PB_Event_GadgetDrop
Zieldatei$ = GetGadgetText(#explorerfeld1)
Dateien.s = EventDropFiles(); den String mit den Dateinamen in Variable speichern
Anzahl = CountString(Dateien, Chr(10)) + 1; Anzahl ermitteln
ev = EventDropAction() ;hier wird zurückgegeben auf welche art gedropt werden soll
For I = 1 To Anzahl
If ev = #PB_Drag_Copy ;hier wird weiter gemacht wenn das Drag & Drop im EnableGadgetDrop mit Option Copy versehen ist.
Debug Zieldatei$ + "\" + StringField(Dateien, I, Chr(10))
CopyFile(StringField(Dateien, I, Chr(10)), Zieldatei$+ "\" + StringField(Dateien, I, Chr(10)))
EndIf
If ev = #PB_Drag_Move ;hier wäre ein verschieben der Daten möglich zum Programmieren
EndIf
Next
EndIf
Code: Alles auswählen
ElseIf event = #PB_Event_GadgetDrop