| |
|
|
|
Beschreibung:
DragQueryFile liest den Namen eines ‚Dropped Files’ aus.
Deklaration:
Def DragQueryFile(4) !SHELL32,DragQueryFileA
Parameter:
1.Parameter: Handle auf einen Speicherbereich, der die ‘Dropped Files’ enthält. Dieses Handle Läßt sich über das Abfangen der Message WM_DROPFILES (563) herausfinden. 2.Parameter: Der bei 0 beginnende Index (die Ordnungsnummer) des auszulesenden Files oder $FFFFFFFF, um die Anzahl der aufgenommenen Files zu erfahren . 3.Parameter: Mindestens 261 Bytes große Bereichsvariable, die das ausgelesene File aufnimmt. 4.Parameter: Die Größe der Bereichsvariablen aus Parameter 3 in Bytes.
Rückgabewert:
Wenn in Parameter 2 $ FFFFFFFF angegeben wurde, die Anzahl der aufgenommenen Files. Wenn ein Filename ausgelesen wurde, gibt die Funktion die Anzahl der Buchstaben im Filenamen zurück. Wenn Parameter 3 Null ist und der angegebene Index existiert, wird die erforderliche Größe von Parameter 3 in Byte zurückgegeben.
Beispiele:
KompilierenMarkierenSeparierenDef DragAcceptFiles(2) !"SHELL32","DragAcceptFiles"
Def DragFinish(1) !"SHELL32","DragFinish"
Def DragQueryFile(4) !"SHELL32","DragQueryFileA"
Declare Filelistbox&,Anzahl&,Zähler&,PFilename#
Windowstyle 31
Windowtitle "Listbox mit File Drag and Drop"
Window 0,0-640,440
Let Filelistbox&=@Createlistbox(%HWND,"",20,20,500,300)
@DragAcceptFiles(FileListbox&,1)
Usermessages 563
While 0=0
waitinput
IF %UMESSAGE=563
DIM PFilename#,261
LET ANZAHL&=@DragQueryFile(&UWParam,$FFFFFFFF,PFilename#,261)
Usecursor 2
While Zähler&<Anzahl&
Clear PFilename#
@DragQueryFile(&UWParam,Zähler&,PFilename#,261)
@AddString(FileListbox&,String$(PFilename#,0))
LET ZÄHLER&=ZÄHLER&+1
wend
Usecursor 0
Dispose PFilename#
@DragFinish(&UWParam)
Endif
Wend
|
|
|
| |
|
|