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

[Résolu]
Signaler
Messages postés
197
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
17 décembre 2014
-
Messages postés
197
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
17 décembre 2014
-
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

Messages postés
3826
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
10 mai 2021
46
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="" />
Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
13
Bonjour,

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

Simon
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
bonjour,

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

cantador
Messages postés
197
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
17 décembre 2014

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.
Messages postés
197
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
17 décembre 2014

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;
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
bonjour,


MultiSelect := true;

cantador
Messages postés
197
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
17 décembre 2014

ReBonjour,

MultiSelect était deja  à True !
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
raaaaaaahhhhhhhhh !

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

cantador
Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
13
"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
Messages postés
197
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
17 décembre 2014

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 ?
Messages postés
197
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
17 décembre 2014

Merci à tous, ça marche !