Delphi/Lazarus: Welches Control hat ein PopUp-Menü aufgerufen? Sender von TPopupMenu?
Frage von Gast | 21.06.2013 um 08:26
Ich benutze das gleiche PopUpMenü für verschiedene Controls (ListView und ListBox).
Das Aufrufen des Popup-Menüs funktioniert auch soweit ganz gut, Probleme gibt es aber den Sender/Aufrufer festzustellen. Ich möchte also zum Beispiel wissen von welcher ListView aus das PopupMenü aufgerufen wurde.
Dazu habe ich zunächst die Variable Sender aus der Prozedur von OnPopup genommen, der Sender ist aber immer der gleiche und führt daher nicht zum Ziel.
Eine andere Idee war es, in einer Variable zu speichern, auf welches Control als letztes geklickt wurde. Das wird zwar funktionieren, ist aber doch viel zu umständlich! Es muss doch eine leichtere Möglichkeit geben um herauszufinden von wo aus das PopUp aufgerufen wurde, oder?
Ähnliche Themen
Delphi/Lazarus: ListView - PopupMenü nur anzeigen, wenn ein Eintrag ausgewählt ist
Tipp | 0 Kommentare
Lazarus: FormDropFiles einer bestimmten ListView zuordnen
Tutorial | 0 Kommentare
Delphi/Lazarus: Mit STRG+A in ListView alles markieren
Tipp | 0 Kommentare
Delphi: Globale Behandlung von Fehlermeldungen (Exceptions)
Tutorial | 0 Kommentare
Delphi/Lazarus: Link zu einer Website in einer Anwendung setzen
Tutorial | 0 Kommentare
Delphi/Lazarus: Kommandozeilen Parameter Tutorial Teil 1: Senden
Tutorial | 0 Kommentare
Delphi/Lazarus: Nur Zahlen im Edit-Feld erlauben
Tipp | 0 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
Ja, es gibt eine viel leichtere Möglichkeit. Und zwar stellt TPopupMenu die Property PopupComponent zur Verfügung. In dieser Eigenschaft ist immer gespeichert, von welcher Komponente das PopUp zuletzt aufgerufen wurde.
Hier ein kleines Beispiel:
Wir fragen hier in den ersten Beispielen direkt ab, ob von ListView1 oder ListView2 aufgerufen wurde. Das dritte Beispiel reagiert allgemein immer dann wenn PopupComponent eine ListView ist - also sowohl bei ListView1 als auch bei ListView2.
22.06.2013 um 16:44