Question compliquée : Comment simuler un clic sur une selection en cours dans un

Résolu
vieuxpere Messages postés 195 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 17 décembre 2014 - 2 mars 2009 à 00:38
vieuxpere Messages postés 195 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 17 décembre 2014 - 2 mars 2009 à 21:57
Bonjour,

Je selectionne des items dans mon listView et j'accompli le code suivant :

// Supprime l'ensemble des messages selectionnés
with ListView1 do for i := -1 + Items.Count downto 0 do if Items[i].Selected then
    Begin
    IdPOP31.delete(""""""Variable""""""""""); 
    End;

Mon probleme c'est que pour obtenir la "bonne" variable dont j'ai besoin pour le code ci-dessus, je dois simuiler un clic sur l'item selectionné en cours et ça je sais pas faire.

Je vous avoue que j'ai aucune idée de comment le réaliser ! Merci pour vos idées.

11 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
2 mars 2009 à 12:53
si MultiSelecte est à True ça veut dire que tu peux en sélectionner plusieurs ...

partant de la le premier code devrait fonctionner

dans le doute je viens de faire le teste et le code fonctionne parfaitement ... pas besoin de simuler quoi que ce soit ...

les Items que j'ai sélectionné je les récupères avec ce code :
var aStr: String;
    I: Integer;
begin
  aStr := EmptyStr;
  with ListView1 do
    for I :=  Items.Count-1 downto 0 do
    if Items[I].Selected then
      aStr := aStr + Items[I].Caption + #32;

  Label1.Caption := aStr;
end;

 
@+
Cirec

<hr siz="" />
3
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
2 mars 2009 à 09:29
Bonjour,

Si tu gères l'événement OnClick de ton ListView, essaie un ListViewClick(Self);

Simon
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
2 mars 2009 à 09:31
bonjour,

Je selectionne des items dans mon listView
donc, tu n'as pas besoin de simuler...

cantador
0
vieuxpere Messages postés 195 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 17 décembre 2014
2 mars 2009 à 11:21
Actuellement, il faut que je clique dessus pour récuperer ma variable qui va s'écrire dans un TLabel.

Je confirme que le fait que la selection se fasse sur un item ne déclenche pas l'évenement OnClick de cet item.
J'ai essayé en effet le ListViewClick1(Self) mais ça ne déclenche pas l'évenement.
0

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

Posez votre question
vieuxpere Messages postés 195 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 17 décembre 2014
2 mars 2009 à 11:40
A noter que j'ai aussi utilisé le code suivant pour selectionner une ligne mais ca marche pas non plus :

ListView1.Items[2].Selected:=true;
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
2 mars 2009 à 11:50
bonjour,


MultiSelect := true;

cantador
0
vieuxpere Messages postés 195 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 17 décembre 2014
2 mars 2009 à 12:00
ReBonjour,

MultiSelect était deja  à True !
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
2 mars 2009 à 12:10
raaaaaaahhhhhhhhh !

essaie de tester :
IF ListView1.Items[2].Selected then
qlqchose

cantador
0
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
2 mars 2009 à 12:14
"Je confirme que le fait que la selection se fasse sur un item ne déclenche pas l'évenement OnClick de cet item.
J'ai essayé en effet le ListViewClick1(Self) mais ça ne déclenche pas l'évenement."
Absurde... il y a un problème ailleurs...

Simon
0
vieuxpere Messages postés 195 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 17 décembre 2014
2 mars 2009 à 12:44
Ca progresse !

Avec le code suivant, je selectionne et j'active l'évenement OnClic du ListView :

Listview1.Items[1].Selected := True;
ListView1Click(sender);
Listview1.SetFocus;

Par contre, ça marche qu'un coup (une seule pression sur le bouton) car il ne désélectionne pas les selections en cours sur le ListView.

Aussi, savez-vous comment déséléctionner toutes les selections en cours ?
0
vieuxpere Messages postés 195 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 17 décembre 2014
2 mars 2009 à 21:57
Merci à tous, ça marche !
0
Rejoignez-nous