Popupmenu dans un listview

zorg63 Messages postés 15 Date d'inscription samedi 22 juin 2002 Statut Membre Dernière intervention 24 octobre 2003 - 22 juin 2002 à 23:01
zorg63 Messages postés 15 Date d'inscription samedi 22 juin 2002 Statut Membre Dernière intervention 24 octobre 2003 - 22 juin 2002 à 23:38
Bonjour à tous.

Je suis nouveau dans la programmation delphi et j'ai un probleme :

Dans une form j'ai dispose un treeview et une listview et je voudrais faire apparaitre un popupmenu sur la listview en cas de click droit de la souris seulement si un item est selectionne.

Merci d'avance.

Zorg

4 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
22 juin 2002 à 23:07
Dans les méthodes du composant TListView, il y figure :

Renvoie l'élément de la liste se trouvant à la position spécifiée.

function GetItemAt(X, Y: Integer): TListItem;
Donc, si cette fonction renvoie autre chose que Nil dans le cas où l'utilisateur clique sur le contrôle TListView, alors, tu affiches ton popmenu.

Simple, non ?
En prime, tu connais même l'élément sélectionné !

May Delphi be with you.
Delphi advanced
0
zorg63 Messages postés 15 Date d'inscription samedi 22 juin 2002 Statut Membre Dernière intervention 24 octobre 2003
22 juin 2002 à 23:17
Simple et efficace. Merci beaucoup.

Ah! juste une petite question, j'ai bien trouve l'evenemment OnClick pour la listview, mais comment savoir que c'est un click droit?

Zorg
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
22 juin 2002 à 23:33
Réponse :
procedure TForm1.ListView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbRight then
If ListView1.GetItemAt(x, y) = nil then
ShowMessage('Vous n''avez rien sélectionné !')
else
with ListView1 do
ShowMessage(
Items[Items.IndexOf(GetItemAt(x, y))].Caption
+ ' sélectionné.');
end;
May Delphi be with you.
Delphi advanced
0
zorg63 Messages postés 15 Date d'inscription samedi 22 juin 2002 Statut Membre Dernière intervention 24 octobre 2003
22 juin 2002 à 23:38
Merci encore une fois. Je vais pouvoir bien avancer maintenant.

Zorg
0
Rejoignez-nous