> My applications are currently developed on W98. Screens are 800x600.
>
> Happy days are now gone. The application has to work on any resolution setting.
>
> I'd like to code my application to detect the user resolution setting and adjust each form to fill the screen e.g. to 1024x768.
> However, in doing so, I'd ideally like the controls to proportionally reposition.
>
> I've been scouring the archives on this forum and have tried a number of the suggestions.
>
> I've tried Sizer2. Its great for 95% of my work, but in some screens with a large number of objects, some lose their relative alignment and in some cases can overlap.
>
> I've tested the reschange.scx from the STRUCT download. However, I don’t want to change the user resolution setting.
>
> If there's a solution for doing so, I'd settle for proportional repositioning, so the screen is always filled.
>
> However, I'd like to take advantage of longer and wider list controls as would be possible with the higher resolution.
> This would mean a) repositioning but NOT resizing controls (e.g. command buttons)
> b) repositioning AND resizing list controls and image controls.
>
> Ive been playing with sysmetric(1) and sysmetric(2) to detect the user screen resolution, then repositioning and resizing EACH control accordingly, by hard coding the top, left, width and height properties.
> It works perfectly on my W2000 computer and on XP.
> But… it’s a massive undertaking to hard code every screen in my application, for every possible screen resolution.
>
> Is there an easier way?
>
> George
>
ideasforgardens.comGeorge
I require this functionality in all my forms.
I put a funcion call into the init of each of my base controls that looks at the sysmetrics and adjusts sizes according to parameters that I have added. (This allows me to set the size on some controls, but leave the inner workings at original, or some other relative size). These mostly run a default setting, (of fully scale to screen), so that all forms and controls default to full size without any additional programming.
The resize code is a method in my default form, so each control has ... THISFORM.RESIZE(THIS) in the INIT method.
All subclassed controls will inherit the resizing.
hth
Steve