ImageEn for Delphi and C++ Builder ImageEn for Delphi and C++ Builder

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 TOpenImageEnDialog placement / scaling issue

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

View 
UserName:
Password:
Format  Bold Italicized Underline  Align Left Centered Align Right  Horizontal Rule  Insert Hyperlink   Browse for an image to attach to your post Browse for a zip to attach to your post Insert Code  Insert Quote Insert List
   
Message 

 

Emoji
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Black Eye [B)]
Frown [:(] Shocked [:0] Angry [:(!] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

 
Check here to subscribe to this topic.
   

T O P I C    R E V I E W
JonMRobertson Posted - Aug 17 2023 : 13:29:07
When opening TOpenImageEnDialog on a secondary monitor that has different scaling than the primary, the dialog appears as shown in the attached image.

I spent a little time stepping through the code but did not find the cause. Even setting a data breakpoint on FLeft for the ImageEnView and ImageEnMView did not reveal the source of the issue. I am not experienced with coding for HighDPI. However, neither of these monitors are using HighDPI.

Primary desktop is set at 125% (Recommended) scaling and secondary desktop is set at 100% (Recommended) scaling. If I set the secondary desktop to 125%, the dialog looks as expected on the secondary monitor.

ImageEn 11.4.5. I have 12.0 downloaded but have not installed it yet.



Thanks
4   L A T E S T    R E P L I E S    (Newest First)
JonMRobertson Posted - Aug 19 2023 : 13:46:54
We are using Per Monitor v2, although I didn't know it. I've been in Unix/Linux working environments the past couple of years so these DPI issues are new to me. ;)

Thanks for a little education. ;)

Jon
xequte Posted - Aug 18 2023 : 21:46:19
Hi Jon

I can't reproduce that, but the ImageEn dialog is built on an older Windows control, and it doesn't cope well with per-monitor scaling, so you are better to use the ModernDialog option.

Also, ensure you are using "Per Monitor v2" DPI awareness.



Nigel
Xequte Software
www.imageen.com
JonMRobertson Posted - Aug 18 2023 : 07:49:09
I updated to 12.0.0 and the issue still occurs on my dev laptop. I am currently the only person running this version of our app, so I don't know whether would occur for any of our users.

Since I am calling ImageEnMView.MIO.ExecuteOpenDialog and not a TOpenImageEnDialog directly, I tried setting IEGlobalSettings().UseWindowsOpenSaveDialogs := True; That works and shows the Windows dialog. I do prefer the preview of the ImageEn dialog. I will try to spend more time on the scaling issue once our next release is finished.

Thanks Nigel.

Jon
xequte Posted - Aug 17 2023 : 20:12:48
Hi Jon

I cannot reproduce that in 12.0.0, but there are often quirks related to VCL scaling.

You might prefer to set ModernDialog to true to use the Windows dialogs instead.

Nigel
Xequte Software
www.imageen.com