How would you like to be able to make a form automatically resize and reposition all its controls and fonts whenever you resize the form? How would you like to do that using only two lines of executable code and no third-party controls? It’s easy, using one of VB5’s little-explored features: the Forms 2.0 Designer.
To place a Forms 2.0 Designer in your project, open the Components window (hit Control T; select Components from the Project menu; or right-click on the toolbox and select Components). Click on the Designers tab.
A few caveats: You can only use the Forms 2.0 control set-it appears in its own toolbox when you’re in the designer-and ActiveX controls. Only the Forms 2.0 controls scale their fonts. You can’t use control arrays in a Forms 2.0 Designer. And you’re not allowed to distribute the Forms 2.0 engine, so users need to have Office or Internet Explorer installed on their machines.
Here’s all you need to do:
Option ExplicitPrivate w As LongPrivate Sub UserForm_Initialize() w = Me.WidthEnd SubPrivate Sub UserForm_Resize() Me.Zoom = (Me.Width / w) * 100End Sub