Dernier element d'un TListView [Résolu]

ptitmanu 24 Messages postés mardi 30 novembre 2004Date d'inscription 8 février 2005 Dernière intervention - 14 déc. 2004 à 15:21 - Dernière réponse : claudecg 2 Messages postés mercredi 19 février 2003Date d'inscription 19 janvier 2007 Dernière intervention
- 19 janv. 2007 à 17:50
Bonjour,
Je voudrais faire apparaitre le dernier element d'un TListView. Lorsque je remplis mon TListView, je voudrais voir le defilement et l'ajout des nouveaux éléments, et non resté bloqué sur la position actuelle de la fenetre. Seulement je ne sais pas par quel bout aborder la chose... Si quelqu'un pouvais me donner une piste ce serais sympa.
Merci.
Emmanuel.
Afficher la suite 

4 réponses

Répondre au sujet
ptitmanu 24 Messages postés mardi 30 novembre 2004Date d'inscription 8 février 2005 Dernière intervention - 15 déc. 2004 à 18:15
+3
Utile
Alors pour obtenir le focus sur le dernier element d'un TListView, il suffit de le selectionner:

//---- code -------------
procedure TFormArinc750.Arinc750Available(var msg: String);
var
subItems :TStrings;
ListAjout : TListItem;
begin
if(update = true) then
begin
subItems := StrExplode(msg,'|', false, -1);

ListAjout := ListView1.Items.Add;
ListAjout.Caption := subItems[0];
ListAjout.SubItems.Add(subItems[1]);

// Selection du dernier element
ListAjout.Focused:= true;
ListAjout.Selected := true;
end;

// Affichage à l'ecran de l'element selectionné
ListView1.Scroll(0,1000);
end;
//------------ fin code -------------------

la méthode utilisé n'est pas forcement la plus élégante, mais je n'en ai pas trouvé d'autre. Le TListView ne scrolle pas automatiquement sur l'element selectionné... et je ne sais pas pourquoi, ni comment le faire.

Si quelqu'un a autre chose à proposer je suis preneur.

Emmanuel.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de ptitmanu
jmp77 1232 Messages postés lundi 4 février 2002Date d'inscription 4 octobre 2006 Dernière intervention - 14 déc. 2004 à 15:58
0
Utile
Hello,

Essaye ca : ListView1.Items.Item[I].Selected; Ca marche en lecture et en ecriture d'apres l'aide mais j'ai pas le temps d'essayer.

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Commenter la réponse de jmp77
ptitmanu 24 Messages postés mardi 30 novembre 2004Date d'inscription 8 février 2005 Dernière intervention - 14 déc. 2004 à 16:24
0
Utile
Salut,
Cela n'a pas l'effet escompté... Je dirais meme plus cela ne semble pas avoir d'effet... J'ai essayé une autre solution pour selectionné le dernier élément, et il etait bien selectionné mais le focus n'etait pas fait sur ce dernier. La selection etait donc faite hors affichage...
C'est pourquoi je suis un peu perdu... avec une ListBox, cela ne pose pas de probleme car il suffit de selectionner un element pour que le focus soit sur celui ci, mais ce n'est pas le cas avec un TListView.

Emmanuel.
Commenter la réponse de ptitmanu
claudecg 2 Messages postés mercredi 19 février 2003Date d'inscription 19 janvier 2007 Dernière intervention - 19 janv. 2007 à 17:50
0
Utile
Bonjour,

moi je fais juste aprés : ListView1.Items.Add
ListView1.Scroll(0,40);

et ca marche !
Commenter la réponse de claudecg

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.