Page 1 sur 1
[R] $GUI_DROPACCEPTED Help
Posté : dim. 29 mars 2009 11:33
par papami
Bonjour,
Peut-on récupérer une info 'glissée' dans un GUI en dehors d'un ctrl Edit ou Input ou List ?
Par exemple pour un GUICtrlCreateLabel la liste des styles étendus comporte $WS_EX_ACCEPTFILES 'le ctrl devant par ailleurs comporter le style $GUI_DROPACCEPTED '
mais comment récupérer l'info ?
ou, autre exemple, est-il posssible de modifier une image en glissant un autre fichier dessus ??? (donc récupérer le nom glissé pour le traiter en conséquence)
Merci
Re: [..] $GUI_DROPACCEPTED Help
Posté : dim. 29 mars 2009 12:35
par Voodoo
Bien sur, en voila la preuve:
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $msg,$lbl_info
GUICreate("Drag & Drop into gui",570,50,-1,-1,-1,$WS_EX_ACCEPTFILES)
GUICtrlCreateLabel("File: ",10,10)
$lbl_info=GUICtrlCreateLabel("Drag un fichier ici Drag un fichier ici Drag un fichier ici Drag un fichier ici Drag un fichier ici",70,10,500)
GUICtrlSetState($lbl_info,$GUI_DROPACCEPTED)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
if $msg=$GUI_EVENT_DROPPED then GUICtrlSetData($lbl_info,@GUI_DRAGFILE)
If $msg=$GUI_EVENT_CLOSE Then ExitLoop
WEnd
GUIDelete()
Pour changer l'image il suffit de remplacer le
guictrlcreatelabel() par un
guictrlcreatepic() et le
guictrlsetdata() par un
GUICtrlSetImage()
Re: [R] $GUI_DROPACCEPTED Help
Posté : dim. 29 mars 2009 14:50
par papami
PARFAIT
Merci !
Re: [R] $GUI_DROPACCEPTED Help
Posté : dim. 29 mars 2009 17:34
par papami
juste un petit ennui toutefois...
cette fonction semble ne traiter qu'un seul fichier :
si je selectionne deux fichiers, que je 'glisse' sur un GUICtrlCreateInput comportant un état $GUI_DROPACCEPTED, j'ai bien les deux fichiers avec GUICtrlRead, séparés par le caractère '|' alors que @GUI_DRAGFILE ne me donne que le second de la selection
pas de solution pour ce cas ?
Re: [..] $GUI_DROPACCEPTED Help
Posté : dim. 29 mars 2009 18:43
par Voodoo
C'est normal il me semble, dans ce cas la il faut utiliser GuiCtrlRead() et laisser tomber @GUI_DRAGFILE.
Re: [..] $GUI_DROPACCEPTED Help
Posté : dim. 29 mars 2009 18:51
par papami
oui... je vais réessayer mais c'est ce que j'avais fait en premier, et sur un label (ou une icône) le GuiCtrlRead() ne me donnait rien, sauf erreur de ma part ...
Re: [R] $GUI_DROPACCEPTED Help
Posté : mar. 31 mars 2009 19:53
par papami
j'ai mis [R] au sujet, mais effectivement on ne peut pas récupérer avec @GUI_DRAGFILE un couple de fichiers selectionnés/glissés, et GuiCtrlRead ne fonctionne pas avec un label ou une icône...
Donc j'en reste là.