![]() |
ListView Item und ein Popup Menu
Hallo,
ich habe jetzt gerade ein Popup Menü angelegt und dieses meiner TListView zugewiesen. Was mit nun dabei aufgefallen ist, ist dass sich das Menu auch öffnet, wenn man auf einen leeren Bereich in der ListView klickt, was ja auch logisch ist, aber nicht gewollt von mir. Daher dachte ich mir, dass ich vielleicht den einzelnen Items das Menu zuweise, das scheint aber dort nicht zu gehen. Gibt es eine Möglichkeit, dass das PopUp Menu nur bei den Items geöffnet wird? Ein paar Eigenschaften meiner TListView: Rowselect : true viewstyle: vsreport Danke und Gruß micha |
Re: ListView Item und ein Popup Menu
Verwende das onClick-Ereignis:
Delphi-Quellcode:
if Assigned(ListView.Selected) then
PopupMenu.Popup(...); |
Re: ListView Item und ein Popup Menu
Hallo,
danke für deine Antwort.
Delphi-Quellcode:
So habe ich das jetzt gemacht. Nun muss ja aber noch eine X und Y Angabe bei Popup rein. Was geben die den an? Die Position wo sich das Popup öffnen soll? Falls ja, wie stelle ich die jetzige Position der Maus fest?
if Assigned(ListView1.Selected) then
PopupMenu1.Popup(); // Edit
Delphi-Quellcode:
Habe das jetzt so gemacht, nun öffnet sich das Popup, aber immer beim Linksklick. Soll aber beim Rechtsklick sich öffnen. Muss ich da ein anderes Event nutzen?
procedure TForm2.ListView1Click(Sender: TObject);
var p: TPoint; begin p := Mouse.CursorPos; if Assigned(ListView1.Selected) then PopupMenu1.Popup(p.X,p.Y); end; Edit // So habe ich es jetzt gelöst, falls es eleganter geht, immer her damit.
Delphi-Quellcode:
procedure TForm2.ListView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); var p: TPoint; begin p := Mouse.CursorPos; if Assigned(ListView1.Selected) AND (Button = mbRight) then PopupMenu1.Popup(p.X,p.Y); end; Gruß Micha |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz