Trotzdem danke. Vielleicht weiß es ja hier noch jemand.
Du könntest den Punkt von Uwe mit dem Beispiel
hier kombinieren. Dabei geht es darum eigene Messages in einer eigenen WndProc zu behandeln, ähnlich wie Uwe es mit der TPopupList gezeigt hat. Lazarus bzw. die LCL ist hier intern anders aufgebaut, um die Cross Plattform Fähigkeit hinzubekommen, aber du kannst dennoch "Hacks" anwenden, um ein Widgetset speziell zu behandeln. Im Grunde musst du bei dem Beispiel statt
Self.Handle
das
Handle deines Popupmenüs verwenden und den Code der WndProc anpassen (vergiss aber nicht dir die vorherige WndProc zu merken (dazu könntest du die Tag Property verwenden) und aufzurufen, wenn du nicht die gewünschte Nachricht erhalten hast (analog zu dem
inherited
in Uwes Beispiel)).
Eine wichtige Anmerkung ist hier jedoch, dass dies so nur unter Windows (
Win32/64) funktionieren wird, unter Gtk2, Qt oder Carbon müsstest du eventuell andere Sachen ausprobieren, falls es dort überhaupt möglich ist andere Eingaben abzufangen...
Gruß,
Sven