This forum is temporaily read-only. All existing discussions remain available for reference. For new questions, bug reports or support requests, please contact us at mail@lmdsupport.com.

Wrong Position Menu on Multimonitor-Systems

We have the constellation that the monitor-alignment is on bottom-line, not top-line
With this, the calculation is wrong.
We disable following code to get it work

//  LMon := Screen.MonitorFromPoint(q);
//  if not Assigned(LMon) then
//    Exit;
//  LNMon := LMon.MonitorNum;
//
//  if (q.x - Screen.Monitors[LNMon].Left) < 0 then
//    q.x := Screen.Monitors[LNMon].Left;
//  if q.y + Screen.Monitors[LNMon].Top < 0 then
//    q.y := Screen.Monitors[LNMon].Top;

See attached PNG. My main monitor is monitor 3 (center monitor)

Comments

  • Which controls you mean?
    Can you describe more, what exact is wrong? Do you have a screenshot of wrong case? 
    I do not think that mentioned code shold be completely commented out.
  • Its ElPopBtn.pas.
    We use a menu with TElMenubar.
    So the changes are in TCustomElGraphicButton.DoPullMenu;


    But now I see that the problem is

    if q.y + Screen.Monitors[LNMon].Top < 0 then

    it must be

    if q.y - Screen.Monitors[LNMon].Top < 0 then
  • Yes, that it correct. Fixed.
Sign In or Register to comment.