goebish
Messages postés92Date d'inscriptionlundi 13 mai 2002StatutMembreDernière intervention24 novembre 2008
-
10 juin 2002 à 11:48
cs_NuNu
Messages postés100Date d'inscriptionmercredi 29 mai 2002StatutMembreDernière intervention27 juillet 2004
-
7 avril 2003 à 09:50
je cherche a faire du drag and drop entre 2 listbox , quekqu'un sais t'il acomplir ce prodige ?
Private Sub Form_Load()
List1.AddItem "1"
List1.AddItem "2"
List1.AddItem "3"
End Sub
'lire une ligne en vue de la glisser-déplacer vers list2
Private Sub List1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim i,j As Integer
Dim DY
i = List1.ListIndex
j=250
iSelected = List1.List(i)
DY = TextHeight("A") ' Lit la hauteur d'une ligne.
Label1.Move List1.Left, List1.Top + Y - DY / 2,j, DY
Label1.Drag ' Fait glisser le contour de
' l'étiquette.
End Sub
'déplacer vers list2 la ligne choisie ds la list1
Private Sub List2_DragDrop(Source As Control, X As Single, Y As Single)
List2.AddItem iSelected
End Sub
*****************************************
goebish
Messages postés92Date d'inscriptionlundi 13 mai 2002StatutMembreDernière intervention24 novembre 2008 11 juin 2002 à 09:44
en fait je cherchai pas une bidouille, mais savoir si il y avai un moyen plus "conventionnel" pour faire ça car cette methode pose problème (par exemple si la liste ne tient pas dans la listbox et qu'il y a un ascenseur on ne peut pas vraiment detecter la selection...) Merci quand meme pour ton code :)
cs_NuNu
Messages postés100Date d'inscriptionmercredi 29 mai 2002StatutMembreDernière intervention27 juillet 2004 11 juin 2002 à 14:01
Salut,
J'ai retesté le bout de code que je t'ai filé, en ajoutant + d'éléments ds List1 de façon à avoir l'ascenceur....Aucun pb pour faire le drag & drop entre le dernier élément de List1 et List2.
Je ne vois ton souci.
Ça a l'air de bidouille mais je m'étais inspirée de MSDN. Je pense que c'est correct.
Si tu as MSDN, va ds l'onglet Index et tape 'Drag, méthode', puis à droite click sur exemple et teste en suivant ce qui est dit. Ça peut t'aider.
Symcod
Messages postés28Date d'inscriptionmardi 11 février 2003StatutMembreDernière intervention25 avril 2003 4 avril 2003 à 17:59
Merci NuN,
Ton ider est rellement bonne seulement je trouve qu'elle prend de la place pour rien. Voici ta version simplifier pour minimiser l'espace mémoire
Private Sub LST_ACTIONS_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
LBL_DRAG_DROP.Tag = LST_ACTIONS.List(LST_ACTIONS.ListIndex)
DY = TextHeight("A") ' Lit la hauteur d'une ligne.
LBL_DRAG_DROP.Move LST_ACTIONS.Width / 2, LST_ACTIONS.Top + Y - DY / 2, 250, DY
LBL_DRAG_DROP.Drag
End Sub
Private Sub LST_GR_ACTION_DragDrop(Source As Control, X As Single, Y As Single)
LST_GR_ACTION.AddItem LBL_DRAG_DROP.Tag
End Sub
Merci pour ton code NuNu :)
Vous n’avez pas trouvé la réponse que vous recherchez ?