[R] Faire défiler le contenu d'une listbox

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Serge63
Niveau 4
Niveau 4
Messages : 71
Enregistré le : lun. 22 juin 2009 14:54
Localisation : Clermont-ferrand
Status : Hors ligne

[R] Faire défiler le contenu d'une listbox

#1

Message par Serge63 »

Bonjour

J'utilise une liste (GUICtrlCreatList) qui contient un nombre varié d'éléments.
Cette liste est mise à jour au fur et à mesure pendant le déroulement de mon programme.

A l'affichage, le contenu de la liste reste figé à la première ligne.

J'aimerais que cette liste défile au fur et à mesure pour voir apparaitre les nouvelles lignes. Je ne veux pas redimensionner l'affichage car la liste peut contenir des dizaines, voire des centaines d'éléments.

Je n'ai pas trouvé dans l'aide ni sur le forum.

Si vous avez une piste, je suis preneur.

Merci d'avance
Modifié en dernier par Serge63 le ven. 12 févr. 2010 08:31, modifié 1 fois.
Avatar du membre
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

Re: [..] Faire défiler le contenu d'une listbox

#2

Message par peuchere83 »

Bonjour,

pour pouvoir t'aider plus facilement, il faudrait le code source.
Par contre as tu regardé l'exemple fourni dans l'aide sur la commande "GUICtrlCreateList " ?

Je pense que tu as oublié le caractère de fin de saisie "|".
Comme dans l'exemple ci-dessous" :

Code : Tout sélectionner

GUICtrlSetData($mylist, "You clicked button No1|")
 
Sans ce caractère tu ne passes pas à la ligne suivante.

J'espère avoir pu t'aider
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Serge63
Niveau 4
Niveau 4
Messages : 71
Enregistré le : lun. 22 juin 2009 14:54
Localisation : Clermont-ferrand
Status : Hors ligne

Re: [..] Faire défiler le contenu d'une listbox

#3

Message par Serge63 »

Le caractère de fin de saisie "|" est nécessaire quand on utilise plusieurs colonnes dans la liste pour spécifier quelle colonne on veut modifier. Je n'en ai pas besoin dans mon cas puisque je n'utilise qu'une seule colonne.

Voici la ligne qui créé ma liste à l'initialisation de la fenetre :
► Afficher le texte
Voici la fonction qui met à jour ma liste pendant le déroulement du programme :
► Afficher le texte
Mes lignes sont bien toutes ajoutées les unes après les autres.
Lorsque la liste est plus longue que la hauteur de la fenêtre, un ascenseur apparait sur la partie droite.

Mais la liste ne défile pas et reste sur les premiers éléments du haut de la liste. Pour voir les derniers éléments, je dois faire descendre l'ascenseur.

J'aimerais que la liste défile toute seule au fur et à mesure pour voir en permanence la dernière ligne ajoutée.
Modifié en dernier par Serge63 le sam. 30 janv. 2010 09:44, modifié 1 fois.
Serge63
Niveau 4
Niveau 4
Messages : 71
Enregistré le : lun. 22 juin 2009 14:54
Localisation : Clermont-ferrand
Status : Hors ligne

Re: [..] Faire défiler le contenu d'une listbox

#4

Message par Serge63 »

pas d'idée ???

:shock:
Serge63
Niveau 4
Niveau 4
Messages : 71
Enregistré le : lun. 22 juin 2009 14:54
Localisation : Clermont-ferrand
Status : Hors ligne

Re: [..] Faire défiler le contenu d'une listbox

#5

Message par Serge63 »

je viens de trouver la solution (qui n'était pas si difficile que ça en fait :shock: )

il faut employer GUICtrlCreateListView pour créer la liste au lieu de GUICtrlCreatList

ensuite la fonction _GUICtrlListView_Scroll permet de faire défiler le contenu de cette liste
Répondre