Bonjour
j essai de me positionner au dernier element de mon listview, mais rien a faire
je fais ca
Ou est le pb ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part ListView1.Items[ListView1.Items.Count - 1].Selected := True;
Bonjour
j essai de me positionner au dernier element de mon listview, mais rien a faire
je fais ca
Ou est le pb ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part ListView1.Items[ListView1.Items.Count - 1].Selected := True;
Mr Cazaux-Moutou-Philippe.
je ne crois pas qu'il y'as une erreure dans ton code..
ajoute un Tedit pour le voir :
tu dois seulement passer le focus à la Listeview :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ListView1.Items[ListView1.Items.Count - 1].Selected:=True; Edit1.Text := ListView1.Selected.Caption;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ListView1.Items[ListView1.Items.Count - 1].Selected:=True; ListView1.SetFocus;
ceci marche parfaitement
OOps je viens de m'apercevoir que c'était un listview, je m'étais habitué a tes Treeview
Code : Sélectionner tout - Visualiser dans une fenêtre à part TreeView.Selected:=TreeView.Items[TreeView.Items.Count-1];
en fait je vois que le pb n est pas qu il ne le selectionne pas, c est qu il y a beaucoup d'images et donc un ascenceur vertical, il selectionne bien le dernier mais je suis obligé de faire défiler l'ascenceur pour le voir
comment le faire scroller jusqu au dernier ?
merci
J'ai eu le même problème lors d'un débug d'une application, voici le code debugué:
Je ne comprends pas pourquoi ton code ne marche pas... peut-être devrais tu te servir d'une variable pour indiquer quel élément tu veux sélectionner...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 listbox1.Items.add(var1); listbox1.Selected[aa]:= true; //selection pour afficher le dernier de la liste listbox1.Selected[aa]:= false; // déselction pour ne pas garder le focus inc(aa);
essai avec un "var-item" prédéfini déja voir ce que ça donne.. =)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 var_item:= ListView1.Items.Count - 1; ListView1.Items[var_item].Selected := True;
Bonjour,
Cette solution ne marche pas.
Si la ligne désirée est bien sélectionnée, la fenêtre ne descend pas pour qu'elle soit bien visible sans jouer de la molette.
Pour l'instant, je fait un truc laborieux et bancal, mais ca marche:
LV.Scroll(0,i*11);
Salut
Il existe la méthode MakeVisible de TListItem.
@+
Extra !!!
Je viens de trouver ça:
http://www.developpez.net/forums/sho...light=listview
Mais dommage, tout de même que la propriété TopItem soit en lecture seule, ca aurait été le must.
Bonjour Claudius,
Tu m'as grillé de quelques secondes...
Sais tu comment faire pour que la ligne apparaisse en haut, et non en bas de la liste visible ?
Dans l'aide, ils disent qu'on peut renseigner la propriété TopItem, mais quand on compile, ca pête.
Envoyé par dacid
Non, mais je vais jeter un coup d'oeil !Envoyé par dacid
[EDIT] Euh, pas simple c't affaire [/EDIT]
@+
Re,
Par exemple un truc comme ca:
@+ Claudius
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 uses CommCtrl; procedure TForm1.Button1Click(Sender: TObject); var AListItem: TListItem; ItemRect: TRect; begin with ListView1 do begin AListItem := Items[7]; // par exemple 8° élément AListItem.Selected := True; if ListView_GetItemRect(Handle, 0, ItemRect, LVIR_LABEL) then Scroll(0, (ItemRect.Bottom - ItemRect.Top) * (AListItem.Index - TopItem.Index)); end; end;
Hi,
Je m'en doutait que mon scroll aurait pointé le bout de son nez.
C'est un peu plus ardu que le MakeVisible, mais si ca marche...
Je vais essayer ca bientot.
Merci pour ta réponse.
PS: J'ai édité plus haut, mais je ne sais pas si tu l'as vu.
Dans l'aide, Delphi dit qu'on peut affecter TopItem, mais le compilateur dit qu'il est en lecture seule... Y a p-e une surcharge ou qq chose comme ça.
Re,
Envoyé par dacid
Oui effectivement il y a une erreur dans l'aide.
Mais malheureusement la propriété est définit ainsi, donc en lecture seule.Envoyé par Aide Delphi 7
@+ Claudius
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2property TopItem: TListItem read GetTopItem;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager