Listebox => retour à la ligne ? :p

phoenix14 Messages postés 15 Date d'inscription vendredi 10 mai 2002 Statut Membre Dernière intervention 3 décembre 2007 - 4 août 2005 à 15:41
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

12 réponses

cs_Douns Messages postés 100 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 19 septembre 2005 1
4 août 2005 à 15:56
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...
phoenix14 Messages postés 15 Date d'inscription vendredi 10 mai 2002 Statut Membre Dernière intervention 3 décembre 2007
4 août 2005 à 15:59
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
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
4 août 2005 à 16:00
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...
cs_Douns Messages postés 100 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 19 septembre 2005 1
4 août 2005 à 16:09
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
phoenix14 Messages postés 15 Date d'inscription vendredi 10 mai 2002 Statut Membre Dernière intervention 3 décembre 2007
4 août 2005 à 16:35
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" ;))
cs_Douns Messages postés 100 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 19 septembre 2005 1
4 août 2005 à 16:44
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)
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
4 août 2005 à 16:56
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é.
cs_Douns Messages postés 100 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 19 septembre 2005 1
4 août 2005 à 16:58
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.
phoenix14 Messages postés 15 Date d'inscription vendredi 10 mai 2002 Statut Membre Dernière intervention 3 décembre 2007
4 août 2005 à 17:17
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... )
cs_Douns Messages postés 100 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 19 septembre 2005 1
4 août 2005 à 19:43
Moi je trouvais cela gérable.

Pis ca aurait été marrant à coder

Sinon pour la solution simple, j'ai pas! ^^
cs_hassen Messages postés 338 Date d'inscription mardi 28 janvier 2003 Statut Membre Dernière intervention 4 novembre 2008
4 août 2005 à 19:52
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
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
oki oki, merci pour les réponses :)

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