> > 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.com>
> George
>
> 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
Thanks Steve
This looks like a very good idea for new projects.
The 2 solutions I have used so far were actually very quick and easy to apply to quite a lot of forms.
When designing from scratch I will certainly have a look at your method.
I would like more specific control over some controls, particularly list boxes, and of course, I'd like to make use of the "white space" created when a blanket resize factor is used.
Theres plenty of options!
George