zorg63
Messages postés15Date d'inscriptionsamedi 22 juin 2002StatutMembreDernière intervention24 octobre 2003
-
22 juin 2002 à 23:01
zorg63
Messages postés15Date d'inscriptionsamedi 22 juin 2002StatutMembreDernière intervention24 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.
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 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é !
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 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