Einzelnen Beitrag anzeigen

Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#15

AW: Einfach das Popup Menü schließen

  Alt 1. Mai 2013, 19:24
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
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat