|  |  | 
|  | 
|  | 
|  | | KompilierenMarkierenSeparieren
 Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Drag und Drop mit dem Explorer realisieren
Lauffähig ab Profan-Version 5.0
PRFellow - Vorlage
Drag&Drop Beispiel mit Profan 6.x (32 Bit)
Autor: Thomas Hölzer
Def DragAcceptFiles(2) !SHELL32,DragAcceptFiles
Def DragFinish(1) !SHELL32,DragFinish
Def DragQueryFile(4) !SHELL32,DragQueryFileA
Def Sleep(1) !KERNEL32,Sleep
Declare ende%,i%,Anzahl&,PFilename#,FileName$
Dim PFileName#,261  Max_Path +1, Vorsicht bei Profan-Strings (nur 255 Zeichen!)
Cls
WindowTitle Drag&Drop-Beispiel - Beenden mit rechtem Mausklick
DragAcceptFiles(%hwnd,1)
Print Eine oder mehrere Dateien aus dem Explorer ins Fenster ziehen
WhileNot ende%
    GetMessage
    IF equ(%message,563)
        Let anzahl&= DragQueryFile(&WParam,$FFFFFFFF,PFilename#,261);
        Let i%=0
        While Lt(i%,anzahl&)
            DragQueryFile(&WParam,i%,PFilename#,261);
            Let filename$=String$(PFilename#,0)  Vorsicht, max 255 Zeichen
            AddString filename$
            Inc i%
        Wend
        DragFinish(&WParam);
        Listbox$(Add$(Str$(anzahl&), Drag&Drop-Datei(en) empfangen),2)
        Clearlist
    Elseif Equ(%mousekey,2)
        Let ende%=1
    EndIf
Wend
Dispose PFileName#
DragAcceptFiles(%hwnd,0)
End
 | 
 | 
|  | 
|  |  | 
|  | 
| 
 
 
 | 
|  | 
|  p.specht
 
 
  | | Auf XProfan 11.2a free plus Anführungszeichen gebracht: 
 'Drag und Drop mit dem Explorer realisieren
'Orig.-Autor: Thomas Hölzer
Def DragAcceptFiles(2) !"SHELL32","DragAcceptFiles"
Def DragFinish(1) !"SHELL32","DragFinish"
Def DragQueryFile(4) !"SHELL32","DragQueryFileA"
Def Sleep(1) !KERNEL32,Sleep
Declare ende%,i%,Anzahl&,PFilename#,FileName$
Dim PFileName#,261' Max_Path +1, Vorsicht bei Profan-Strings (nur 255 Zeichen!)
Cls
WindowTitle "Drag&Drop-Beispiel - Beenden mit rechtem Mausklick"
DragAcceptFiles(%hwnd,1)
Print "Eine oder mehrere File aus dem Explorer ins Fenster ziehen"
WhileNot ende%
    GetMessage
    IF (%message=563)
        anzahl&= DragQueryFile(&WParam,$FFFFFFFF,PFilename#,261);
        i%=0
        While i%<anzahl&
            DragQueryFile(&WParam,i%,PFilename#,261);
            filename$=String$(PFilename#,0)' Vorsicht, max 255 Zeichen
            AddString filename$
            Inc i%
        Wend
        DragFinish(&WParam);
        Listbox$(Str$(anzahl&)+" Drag&Drop-File(en) empfangen",2)
        Clearlist
    Elseif %mousekey=2
        ende%=1
    EndIf
Wend
Dispose PFileName#
DragAcceptFiles(%hwnd,0)
End
 | 
 | 
|  | 
|  | | Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 12.12.2021  ▲ | 
 | 
|  | 
| 
 
 
 |