Page 1 sur 1
[R] Drag and Drop entre deux Listes...
Posté : mer. 02 déc. 2009 13:49
par allbrans
Je souhaiterais pouvoir selectionner un item dans une liste à gauche et que celui ci se retrouve dans la liste de droite après selection -
La démarche classique de selection d'un item en quelque sorte -
Je ne parviens pas à réaliser cela -
Pouvez vous m'aider ?
Cordialement,
Re: [..] Drag and Drop entre deux Listes...
Posté : ven. 04 déc. 2009 13:26
par Habibsbib
Peut-être que si tu rajoutes un petit bouton, et en plus de cela une commande GUIGetItem, oujessépaskoi, ben je crois que ca suffirait

Je vais faire des pitites recchercehs, je te réponds dans deux trois heures (après les cours ^^)
Re: [..] Drag and Drop entre deux Listes...
Posté : sam. 05 déc. 2009 03:56
par Iste
Pour avoir essayé (
http://www.autoitscript.fr/forum/viewto ... hilit=drag) je vous conseille d'utiliser des boutons ou autre. C'est moins intuitif, mais au moins, ca marche ><
Bref, je suis toujours preneur d'une solution si jamais.
Re: [..] Drag and Drop entre deux Listes...
Posté : mar. 08 déc. 2009 09:39
par Habibsbib
Peut-être une petite boucle de rafraîchissement qui vérifie continuellement qu'aucun choix n'aie été enclenché, mais là il va falloir passer par des _GUICtrlComboBox... mais c'est assez compliqué, déja que je galère avec _GUICtrlListBox, ... et donc ensuite, tu programmes avec ça avec une boucle de rafraîchissement en simultané, et le tour est joué !
Re: [..] Drag and Drop entre deux Listes...
Posté : ven. 11 févr. 2011 13:45
par allbrans
j'ai pas retenté mais effectivement un bouton et le tour semble joué - merci -
Re: [R] Drag and Drop entre deux Listes...
Posté : ven. 11 févr. 2011 14:54
par TommyDDR
Essayant de devenir un expert GUIRegisterMsg, je viens de cracher ca, si ca peut vous aider :
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
Dim $Gui
Dim $ListView[2]
$Gui = GUICreate("test", 300, 300)
GUISetOnEvent($GUI_EVENT_CLOSE, "quit")
$ListView[0] = GUICtrlCreateList("", 0, 0, 150, 300)
$ListView[1] = GUICtrlCreateList("", 150, 0, 150, 300)
For $j = 0 To 1
For $i = 0 To 5
;~ GUICtrlCreateListViewItem($j & ":" & $i, $ListView[$j])
GUICtrlSetData($ListView[$j], $j & ":" & $i)
Next
Next
GUICtrlSendMsg($ListView[0], $LVM_SETCOLUMNWIDTH, 0, 140)
GUICtrlSendMsg($ListView[1], $LVM_SETCOLUMNWIDTH, 0, 140)
GUISetState()
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
While(True)
Sleep(10)
WEnd
Func WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
Local $Click = BitAND($wParam, 0xFFFF0000) = 0x00010000
Local $ListeSelect = BitAND($wParam, 0x0000FFFF)
Local $ListeAutre
If($Click) Then
If($ListeSelect = $ListView[0]) Then
$ListeAutre = $ListView[1]
Else
$ListeAutre = $ListView[0]
EndIf
Local $Item = GUICtrlRead($ListeSelect)
GUICtrlSetData($ListeAutre, $Item) ;Ajoutez & "|" apres $Item pour autoriser les doublons
;Il ne vous reste plus qu'à chercher comment supprimer un item d'un GUICtrlCreateList() ;)
EndIf
EndFunc
Func quit()
Exit
EndFunc