Sorry I took so long to get back, moving home and work have kept me really busy.
Noname, I've just tested your code with the M option, but he size reported on the message box is still 600 x 200.
Lexikos, the machine I'm testing this on is a Surface Pro 4 with no external displays attached. I've done a bit more digging and noticed the following:
1) The dimensions returned by WinGetActiveStats are always double the dimensions passed to Progress, regardless of the display scaling setting, so basically it seems this is not related to display scaling as we thought.
2) Certain commands return actual pixel count, for instance, SysGet and WinGetPos return dimensions as actual pixels regardless of display scaling or resolution.
3) Progress exhibits this problem while SplashImage does not, you can see this by running the following scripts:
Code: Select all
#NoEnv
#SingleInstance Force
Progress, B h100 w300 x100 cb00FF00 ct00FF00 cwBlack fm12 fs12,, Progress: 100 x 300, MyProgress
SetTimer, Dim, -500
Return
Dim:
WinActivate, MyProgress
WinGetActiveStats, t, w, h, x, y
MsgBox %w% %h% %t%
Return
~Esc::ExitApp
Code: Select all
#NoEnv
#SingleInstance Force
SplashImage,, B h100 w300 x100 cb00FF00 ct00FF00 cwBlack fm12 fs12,, Splash: 100 x 300, MySplash
SetTimer, Dim, -500
Return
Dim:
WinActivate, MySplash
WinGetActiveStats, t, w, h, x, y
MsgBox %w% %h% %t%
Return
~Esc::ExitApp
4) The default setting GUI, +DPIScale doesn't scale bitmaps. I have a couple of GUIs with 16x16 pixel bitmaps that don't get scaled up. However, if I manually enforce the desired dimensions:
Code: Select all
Gui, Add, Picture, h16 w16, MyIcon.ico
the icons do get scaled up BUT for some reason they display "squashed", with the height being less than the width, even though in the above code both h and w were set equal.
These are basically all the issues I've encountered since I switched to W10 on a high-resolution display. I do appreciate your help