Also beim Versuch das Popup Menü mit der mittleren Maustaste zu schließen komme ich nicht weiter.
Es soll ein Popup Menü, welches in einem Memo geöffnet wurde durch den Klick der mittleren Maustaste geschlossen werden. Eben genauso wie wenn ich mit der linken Maustaste neben das Menü klicke.
Mit dieser Lösung klappt es nicht
http://www.swissdelphicenter.ch/de/showcode.php?id=2262.
Delphi-Quellcode:
procedure TForm1.Memo1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbMiddle then
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
end;
Durch das Popup geht ja der Fokus verloren. Deshalb wird das Ereignis gar nicht mehr aufgerufen.
Aber wenn ich das ganze im Form1 Ereignis mache klappt es auch nicht.
Das Popup Menü hat ja kein MouseDown Ereignis.
Diese Lösung
http://www.entwickler-ecke.de/topic_...d9d2ad?view=df habe ich noch gefunden. Aber bei mir meckert der Compiler (Lazarus), das er keine Popuplist kennt und außerdem
will er bei MakeObjectInstance(PopupListWndProc); immer noch eine Message als Argument bei PopupListWndProc.