Ein simpler Fix, der das Problem meiner Meinung nach behebt:
Delphi-Quellcode:
if LParent is TPopupMenu then
LMonitor := Screen.MonitorFromPoint(TPopupMenu(LParent).PopupPoint)
else if (TWinControl(LParent.Owner).Handle > 0) ...
Sieht jemand ein potenzielles Problem bei dieser Lösung?
Erfreulicherweise löst dies auch das andere Problem, das ich hier beschrieben hatte:
https://www.delphipraxis.net/203733-...l-problem.html
Wenn jemand einen Workaround ohne Patchen der
Vcl.Menus.pas sieht, wäre das natürlich noch besser.