vieuxpere
Messages postés195Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention17 décembre 2014
-
21 juin 2009 à 13:49
vieuxpere
Messages postés195Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention17 décembre 2014
-
22 juin 2009 à 22:37
Bonjour,
je n'arrive pas à incrémenter la postion d'un lisview.
Pour ce faire, j'utilise le code suivant :
ListView1.ItemIndex:=ListView1.ItemIndex+1;
Ca marche trés bien sur un listbox mais sur ce type de composant.
J'ai aussi essayé :
ListView1.SetFocus;
ListView1.ItemIndex:=ListView1.ItemIndex+1;
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 21 juin 2009 à 22:57
Penser à mettre la propriété HideSelection à False pouvoir faire ressortir l'élément sélectionné.
Voici le code tout simple qui passe à l'élément suivant :
procedure TForm1.Button1Click(Sender: TObject);
begin
with ListView1 do
if Assigned(Selected) and (Selected.Index < Items.Count - 1) then
Selected := Items[Selected.index + 1];
end;
May Delphi be with you<hr />Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 22 juin 2009 à 12:05
ben je vois pas pourquoi ça ne fonctionnerait pas chez toi !!!
je l'ai testé dans tous les modes (vsIcon, vsSmallIcon, vsList & vsReport)
et j'ai également plusieurs colonnes !!!
vieuxpere
Messages postés195Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention17 décembre 2014 21 juin 2009 à 15:33
Bonjour et merci de ta réponse.
Mon listview est à VsReport et j'ai besoin d'incrementer comme suit (postion du listview actuelle +1), je dois donc aller vers le bas.
Mon probléme c'est que je n'arrive pas à utiliser ton code, ça compile mais ca n'incremente pas la postion de mon listview.
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 22 juin 2009 à 00:34
Salut,
tu ne vois pas la sélection changer parce que la ListView n'a plus le focus !!!
essaye comme ça :
procedure TForm1.Button1Click(Sender: TObject);
begin
with ListView1 do
if Assigned(Selected) and (Selected.Index < Items.Count - 1) then
begin
Selected := Items[Selected.index + 1];
SetFocus ;
end;
end;
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 22 juin 2009 à 01:28
ps: avec le premier code il faut sélectionner le premier Item en cliquant dessus
mets un showmessage avant et après et tu verras que sa valeur change !!!!
voici un autre code qui fonctionne dans tous les cas
procedure TForm1.Button11Click(Sender: TObject);
begin
with ListView1 do
begin
if Assigned(Selected) and (Selected.Index < Items.Count - 1) then
begin
//ShowMessage(IntToStr(ListView1.ItemIndex));
Selected := Items[Selected.index + 1];
//ShowMessage(IntToStr(ListView1.ItemIndex));
end
else
if Items.Count > 0 then
Selected := Items[0];
SetFocus;
end;
end;
ce code a été testé et fonctionne parfaitement (comme le premier d'ailleurs )!!!