voilà mon soucis.
J'ai trouvé un code de flype proposé par le soldat inconnu qui permet le "glissé déposé", j'ai aussi trouvé ce code que j'essaye d'arranger pour qu'il respecte certaine conditions.
C'est évidement là que ça pine.
Voilà le code :
Code : Tout sélectionner
;Original source code by James L.Boyd;
; Cleaned and reposted be LarsG
Procedure.l DropFiles()
ProcedureReturn EventwParam()
EndProcedure
Procedure.s GetDropFile(*dropFiles, index)
bufferNeeded = DragQueryFile_(*dropFiles, index, 0, 0)
For a = 1 To bufferNeeded: buffer$ + " ": Next ; Short by one character!
DragQueryFile_(*dropFiles, index, buffer$, bufferNeeded+1)
ProcedureReturn buffer$
EndProcedure
Procedure FreeDropFiles(*dropFiles)
DragFinish_(*dropFiles)
EndProcedure
If OpenWindow(0, 200, 200, 300, 100, "Drag 'n' drop", #PB_Window_SystemMenu)
DragAcceptFiles_(WindowID(0), 1)
Repeat
Select WaitWindowEvent()
Case #WM_DROPFILES
*dropped = DropFiles()
f$ = ""
If files = 0
f$ + GetDropFile(*dropped, files) + Chr (13)
MessageRequester("Drag 'n' Drop", Chr (13) + f$)
FreeDropFiles(*dropped)
Else
MessageRequester ("info","Vous ne pouvez déposer qu'un seul fichier")
EndIf
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
Until Quit = 1
EndIf
End
- J'essaye de faire en sorte que le glissé déposé n'autorise qu'un seul fichier.
- Si plus d'un fichier est glissé-déposé, alors un messagerequester apparait pour dire qu'il ne faut glisser deposer qu'un fichier.
- Si un seul fichier est glissé-déposé, alors son nom est inscrit dans Fichier$ et Path$ = GetPathPart(Fichier$)
J'avoue ne pas trop comprendre le fonctionnement de ce code. Et je n'ai rien trouvé dans l'aide sur DragQueryFile.