Seite 1 von 1

Mehrere Dateien per Drag and Drop

Verfasst: 15.08.2008 16:47
von Fox
Hi.. ich programmiere zur Zeit nen kleinen Musikplayer in der Art wie Winamp nur weit nicht so komplex versteht sich...Nunja ich bin bei dem Playlist Editor angelangt und habe mir mal ein Beispiel aus dem Code Archiv angeschaut... Ich habs ein bisschen abgeändert und jetzt frage ich mich wie man denn mehrere Dateien per Drag and Drop in das Gadget ziehen kann...

Hier mal mein Source...

Code: Alles auswählen


Enumeration
  #PlaylistEditor
EndEnumeration

;- Gadget Constants
;
Enumeration
  #Playlist
  #Offnen
  #Speichern
EndEnumeration

#BufferLength = 1000
#MEM_DROPFILES = 10000
*Buffer = AllocateMemory(#BufferLength)

hWnd = OpenWindow(#PlaylistEditor, 415, 85, 440, 558, "Playlist Editor",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
    If CreateGadgetList(WindowID(#PlaylistEditor))
 If hWnd
      DragAcceptFiles_(WindowID(#PlaylistEditor), 1)   
      ListViewGadget(#Playlist, 5, 5, 430, 515)
      ButtonGadget(#Offnen, 15, 530, 95, 25, "Öffnen")
      ButtonGadget(#Speichern, 130, 530, 95, 25, "Speichern")
      SetGadgetColor(#Playlist, #PB_Gadget_BackColor,$000000)
      SetGadgetColor(#Playlist, #PB_Gadget_FrontColor,RGB(0,255,0))
      
      Repeat
    Event= WaitWindowEvent()
    Select Event
    
    Case #Offnen
    
    OpenFileRequester("Öffnen","Playlist.dat","*.*",0)
    
    Case #Speichern
    
    SaveFileRequester("Speichern","Playlist.dat","*.*",0)
    
        
    
    Case #PB_Event_CloseWindow
      Quit = 1
      
    Case #WM_DROPFILES
      *DropHandle = EventwParam()
      *DropHandle
      If *DropHandle
        NbDroppedFiles = DragQueryFile_ (*DropHandle, $FFFFFFFF, *Buffer, #BufferLength)
        DragQueryFile_(*DropHandle, k, *Buffer, #BufferLength)
        DragFinish_(*DropHandle)
        File$=PeekS(*Buffer)
        AddGadgetItem(#Playlist, -1, File$)
        
              EndIf
    EndSelect
  Until Quit = 1
EndIf
End
EndIf

Hoffe ihr könnt mir helfen...

Danke im Vorraus

Fox

Wer dies liest, ist doof! Haha, gelesen!!

Verfasst: 15.08.2008 16:58
von AND51
Vielleicht hilft dir ja das hier weiter:
http://www.purebasic.fr/german/viewtopi ... =drag+drop

Re: Mehrere Dateien per Drag and Drop

Verfasst: 15.08.2008 17:21
von Kiffi
@Fox:

Ab PB Version 4.10 wird Drag & Drop nativ unterstützt. Schau mal
in der Hilfe nach. Dort gibt es ein eigenes Kapitel dafür.

Einen Beispielcode liefert die ebenfalls vorhandene DragDrop.pb

Grüße ... Kiffi

Verfasst: 15.08.2008 18:06
von Fox
@ AND51... Dein code funktioniert beim Listviewgadegt nicht... Schade
@ Kiffi Die Beispiele zu Drag and Drop hab ich mir angesehen nur ist es so, dass die in der Drag and Drop.pb verwendeten Elemente inerhalb des Programms sind und wenn ich jetzt z.b. meine Musiksammlung per Drag and Drop einfügen will funktioniert das nicht...

Danke trotzdem

Verfasst: 15.08.2008 18:10
von ts-soft
Fox hat geschrieben:@ AND51... Dein code funktioniert beim Listviewgadegt nicht... Schade
Vielleicht mal den ganzen Thread lesen?

Verfasst: 15.08.2008 19:04
von Fox
Hab ich, nur ich hab den Link übersehen... Sollte wohl mal wieder meine Brille tragn. Naja auf jeden Fall klappt es jetzt :mrgreen: ... Danke euch allen


Fox

Verfasst: 15.08.2008 19:34
von Kiffi
Fox hat geschrieben:@ Kiffi Die Beispiele zu Drag and Drop hab ich mir angesehen nur ist es so, dass die in der Drag and Drop.pb verwendeten Elemente inerhalb des Programms sind und wenn ich jetzt z.b. meine Musiksammlung per Drag and Drop einfügen will funktioniert das nicht...
und wenn Du dann Deine Brille auf hast, dann kannst Du Dir das
DragDrop.pb gerne noch mal anschauen ;-)

Grüße ... Kiffi