View Issue Details

IDProjectCategoryView StatusLast Update
0005475JEDI VCL00 JVCL Componentspublic2011-02-11 22:42
ReporterjkelleyAssigned Tojfudickar 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version3.39 
Target VersionFixed in Version 
Summary0005475: JvDSADialogs messages are sized incorrectly with multiple monitors
DescriptionA message box shown by DSAMessageDlg may be sized incorrectly in a multiple monitor environment. I have two monitors, with my right monitor set as my primary (so anything on the left monitor has negative X coordinates). A DSAMessageDlg that's shown on the right monitor is sized correctly, while a DSAMessageDlg shown on the left monitor is shown very narrow and tall.

The culprit appears to be this block of code in CreateDSAMessageForm:

    if (Screen.Width div 2) > (CenterParWidth + (2 * CenterParLeft)) then
      SetRect(TextRect, 0, 0, CenterParWidth + (2 * CenterParLeft), 0)
    else
      SetRect(TextRect, 0, 0, Screen.Width div 2, 0);

Adding Screen.DesktopLeft to this expression fixes it:

    if (Screen.Width div 2) > (CenterParWidth + (2 * (CenterParLeft - Screen.DesktopLeft))) then
      SetRect(TextRect, 0, 0, CenterParWidth + (2 * (CenterParLeft - Screen.DesktopLeft)), 0)
    else
      SetRect(TextRect, 0, 0, Screen.Width div 2, 0);
TagsNo tags attached.

Relationships

related to 0005600 resolvedjfudickar JvDSADialogs messages are still sized incorrectly with multiple monitors 

Activities

jfudickar

2011-02-11 22:42

developer   ~0018333

Changed in SubVersion.

Thanks for this hint.

Issue History

Date Modified Username Field Change
2011-02-08 16:50 jkelley New Issue
2011-02-11 22:42 jfudickar Note Added: 0018333
2011-02-11 22:42 jfudickar Status new => resolved
2011-02-11 22:42 jfudickar Resolution open => fixed
2011-02-11 22:42 jfudickar Assigned To => jfudickar
2011-06-16 20:33 jfudickar Relationship added related to 0005600