[M3devel] pixmaps et al on Win32 hi-res monitors

Randy Coleburn rcoleburn at scires.com
Tue Aug 19 22:55:00 CEST 2008


Jay, Sorry for the delay in getting back to you.
 
I ran tests as you suggested, namely, in WinScreenType.InnerNew I changed the x & y resolution to be 96.0 (I did not change the pixels,  just the res field).  I tried running this version with Image.Raw.x/yres set to 75.0 and also set to 96.0.  In both cases, what I got on the screen was horrid.  Everything was extremely large and only a fraction of the window was visible on screen (e.g., shadow size on buttons appeared to be increased by a factor of 7 or more).
 
So, here is where I stand:
 
1.  It seems that for certain high-dpi monitors (Dell M4300 laptop is only one I've tested), if you use unscaled pixmaps in FormsVBT/Trestle, the ZGrowVBT stops working for ZChassisVBT.  You can still grab the title and try to drag.  The system will put an outline around the window, but it won't let you drag it anywhere.
 
2.  I have put an environment variable in my programs that lets you choose between scaled and unscaled pixmaps.  For either case, the program seems to work fine on "normal dpi" monitors, but when run on the Dell M4300 hi-res system, you get the following behavior:  
 
Unscaled=subwindows can't be dragged around (moved), but the GUI looks good; 
 
Scaled=subwindow dragging works as expected, but all pixmaps are double-size resulting in bad appearance (pixmaps are out of proportion with text and cause some subwindows to be too big to fit on screen).  
 
So, the end user gets to decide via environment variable whether he wants a pretty GUI with frozen subwindows, or an ugly GUI with movable subwindows.  Alas, the choices are poor, at best.
 
3.  At this point I don't know of anything else to try as a potential solution to this problem.
 
4.  I am running final tests today & tomorrow at the customer location.  We will meet tomorrow (Wednesday) afternoon to decide if customer will accept the program.
 
If anyone has any other ideas for a solution, please let me know ASAP.
 
I plan to commit my changes to the repository as soon as the final decision on acceptance is rendered.  These changes will not alter the way Trestle/FormsVBT has been working on Windows, except to fix the appearance of scaled scroll bars and to add the capability to force use of unscaled pixmaps.  The latter is not done thru env var, but via a new procedure in Image.i3.  (One could use an env var in one's program, like I did, to provide a control input to the new procedure.)  Unless one calls the new procedure, the default is to use scaled pixmaps so as to maintain compatibility with the way its been done in the past, thus there is no change in operation unless explicitly called for by the programmer.
 
Regards,
Randy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20080819/8d2b858f/attachment-0001.html>


More information about the M3devel mailing list