Hi Eros,
Thank you for your response.
I placed this code into my program listing near the top and my program ran as normal.
%PROCESS_DPI_UNAWARE = 0
%PROCESS_SYSTEM_DPI_AWARE = 1
%PROCESS_PER_MONITOR_DPI_AWARE = 2
Declare Function SetProcessDPIAware Lib "user32.dll" Alias "SetProcessDPIAware" () As Long
The other bit of code you supplied did not
%PROCESS_DPI_UNAWARE = 0
%PROCESS_SYSTEM_DPI_AWARE = 1
%PROCESS_PER_MONITOR_DPI_AWARE = 2
Declare Function SetProcessDpiAwareness Lib "Shcore.dll" Alias "SetProcessDpiAwareness" (byval PROCESS_DPI_AWARENESS as dword) As Long
SetProcessDpiAwareness(%PROCESS_DPI_UNAWARE)
(Invalid. Didn't recognise Lib "Shcore.dll)
I understand that If the dpi setting is >96 then no doubt it will be required to make the TAB program dpi aware.
This could mean devising code to take into account the different versions of windows that might be running the program....?
I also accept that some GUI elements and fonts might need to be scaled somehow - so might need to get the current desktop dpi ratios from the monitor...
Sounds though like it might be a little complicated - but maybe possible to implement this.
How and what code do I need to do it? Any help suggestions would be great.
If TAB is not dpi aware then Windows will probably scale it resulting in smaller gui, images and text.
When I created my program all those years ago I did not envisage this problem of visibility or usability occurring on the high end monitor resolutions which are slowly becoming default on newer setups nowadays.
Thanks ever so much,
catventure/Philip.
Bookmarks