Listebox => retour à la ligne ? :p

Messages postés
15
Date d'inscription
vendredi 10 mai 2002
Statut
Membre
Dernière intervention
3 décembre 2007
- - Dernière réponse : phoenix14
Messages postés
15
Date d'inscription
vendredi 10 mai 2002
Statut
Membre
Dernière intervention
3 décembre 2007
- 9 août 2005 à 15:37
Bonjour a tous,



je tape dans une DB access en VB6, et j'affiche les résultats dans des Listbox.

J'ai cherché, mais j'ai pas encore trouvé comment faire pour que le
texte contenu dans une listbox fasse un "retour à la ligne" si le texte
dépasse la longueur de la fenetre que je lui impose...j'aimerais éviter
la scrollbar en bas si c'est possible

(je sais pas si je suis tres clair la...)



si kk'un savais comment faire ce "tour de magie", ca m'aiderait bien



Merci beaucoup d'avance

Phoenix14
Afficher la suite 

12 réponses

Messages postés
100
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
19 septembre 2005
0
Merci
Bah y'a bien la solution où tu comptes le nb de caractere de ton élément et si il dépasse alors tu le mets sur 2 enregistrements.
Mais le problèmes c'est qu'il va etre en deux enregistrements...
Messages postés
15
Date d'inscription
vendredi 10 mai 2002
Statut
Membre
Dernière intervention
3 décembre 2007
0
Merci
arfff...

Ben ouai, j'y avais pensé aussi...Mais du coup, ca m'arrange plus du tout dans la gestion des différentes listbox

Il faudrait vraiment que ca reste sur le meme enregistrement...mais sur 2 lignes (ou plus suivant la taille d'ailleurs).



Merci de ta réponse
Messages postés
1822
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
0
Merci
Violent Ken


Sincèrement, je ne crois pas que ce soit possible sur un simple contrôle listbox, qu'une string prenne 2 lignes. Mais bon, on en apprend tous les jours, alors...
Messages postés
100
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
19 septembre 2005
0
Merci
Tu peux la tenter autrement avec une listbox visible où tes enregistrement reviennent à la ligne selon la méthode "trop de caractere, enregistrement suivant" et une listbox invisible sur laquelle tu travailles.

Chaque fois que tu changes la listbox invisible tu réactualises la listbox visible! :p
Messages postés
15
Date d'inscription
vendredi 10 mai 2002
Statut
Membre
Dernière intervention
3 décembre 2007
0
Merci
Euh...j'ai pas tout compris la :D

Pour etre franc, je suis pas sur que ca soit possible non plus...Mais
on sait jamais...des fois que qq'un connaitrait un "truc" ;))
Messages postés
100
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
19 septembre 2005
0
Merci
Sisi attend je t'explique. je suis sur que c'est possible.

tu prends une listbox invivisible disont "list_invisible".
ce sera sur cette liste que tu travailleras, c'ets à dire que tu y colleras tes enregistrements, que tu els modifiras, que tu les supprimeras...

Tu crées une autre listbox visiblme cette fois "list_visible"
Cette list sera la liste affichée. Tu n'utiliseras jamais les données contenues dedans, elle n'ets la que pour que l'utilisateur

Donc dans ton prog :
---------initialisation-------------
_Tu importes tes données dans list_invisible
_À partir de la list_invisible, tu remplies la list_visible en utilisant une fonction qui fait que si la donnée à insérer dans la liste est trop grande, tu envoie le reste de la chaine dans une enregistrement suivant.

---------opérationd ans le programme-------------
_Tu dois modifier l'enregistrement 50.
_tu le modifies dans la list_invisible car l'elelemnt 50 sera bien à la ligne 50.
_tu réactualises la list_visible à partir de la list_invisible

Tu as saisi? (l'idéal ce serait un croquis la! :p)
Messages postés
1822
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
0
Merci
Violent Ken


mais si la string prend 2 lignes, il y aura 2 lignes dans list_visible, et ce n'est pas réellement le but recherché.
Messages postés
100
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
19 septembre 2005
0
Merci
Le but est d'avoir un retour à la ligne et c'est le cas qur la visible?
Et sur l'invisible, il a ses données sans ligne en plus.
Messages postés
15
Date d'inscription
vendredi 10 mai 2002
Statut
Membre
Dernière intervention
3 décembre 2007
0
Merci
Ah ok, G saisi...C kan meme un peu "chaud" comme truc, non ? :-D

ca risque d'etre sacrément ingérable au bout des 2000 lignes de la DB
la :D (quoique)...Je suis un grand adpete de la simplicité moi tu sais



T'aurais pas plutot un truc genre Listbox.multiline = true ? :D (tient, j'ai pas essayer ca... )
Messages postés
100
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
19 septembre 2005
0
Merci
Moi je trouvais cela gérable.

Pis ca aurait été marrant à coder

Sinon pour la solution simple, j'ai pas! ^^
Messages postés
338
Date d'inscription
mardi 28 janvier 2003
Statut
Membre
Dernière intervention
4 novembre 2008
0
Merci
tu peut utiliser les tooltips

Private Sub Form_Load()
List1.AddItem "Premiere ligne trop longue"
List1.AddItem "Deuxieme ligne trop longue"
List1.AddItem "Quatrième ligne trop longue"


End Sub


Private Sub List1_Click()
List1.ToolTipText = List1
End Sub

mais c pas genial comme solution
le mieux je croit que tu utilise les listviews

Hassen TUNISIE
Messages postés
15
Date d'inscription
vendredi 10 mai 2002
Statut
Membre
Dernière intervention
3 décembre 2007
0
Merci
oki oki, merci pour les réponses :)

En admettant que j'utilise des Listviews, je fais ca comment (le retour à la ligne etc...)?