office +44 (01483) 604854
fax +44 (0207) 1007368
![]()
Below is a simple example of the reszier in action. As the user has increased the size of the window:

Add the resizer class module (see below for pricing/ordering) and a couple of lines of code to your form and you can then specify whether your controls should move, grow (or both) and by how much in the tag property of each control. Your form controls will then resize 'intelligently' as the user maximises, restores or drags the form window into a new size/shape.
Add the resizing class to your Access mdb (see download/pricing details below). In any form you want to have dynamically resize, create a reference to the class in the declarations section as follows:
Dim frmResize As New clsFormResize
Then add the following code to the Load event of the form:
frmResize.Init Me.Form
And ensure that the Resize event is listed (even if it just contains comments):
Private Sub Form_Resize()
'Holder for resize event
End Sub
That's it! That is all the code you need (there is one extra line needed if you have a subform with controls you want to resize as the parent form is resized).
Design the form to the smallest size that you wish it to appear (usually 800x600). If the form is resized smaller than this, the controls will not resize, but will behave normally (i.e. being hidden by the limits of the form size).
For any control that you wish to move/resize add one (or more) of the following commands to the tag property (you can add one of each, simply separate each with a comma and a space).
| MoveXn | Moves the control left/right when the form size is increased/decreased horizontally. |
| MoveYn | Moves the control up/down when the form size is increased/decreased vertically . |
| GrowXn | Increases/decreases the width of the control when the form size is increased/decreased horizontally. |
| GrowYn | Increases/decreases the height of the control when the form size is increased/decreased vertically . |
The value n is a decimal up to the value 1 and is the proportion of form's growth that you want the control to grow by. For example, if you have a button in the top right corner of the form and want it to stay the same distance from the right edge of the window when it is resized, set the tag property to "MoveX1".
If you have two controls side by side and wish each to grow equally as the form is resized, set the left control's tag property to "GrowX0.5", while setting the right control's property to "MoveX0.5, GrowX0.5".
This is a simple demo with a single screen. Download the zip file and extract the ResizeDemo.mdb and open it. A form for entering company information will appear, simply resize the screen to see how the system works.
I have locked down the code, but you can get into the design of the form and view/modify the Tag properties to see how flexible the system is (see above for valid tag options).
This download also shows the Custom Navigation Bar also available on this site. This bar does everything the built in Access bar does plus has a button for clearing any filters that may have been applied to the form (button only becomes enabled if a filter is applied). The Navigation bar is larger than the built-in Access version and can be placed anywhere on the screen. Please download and experiment - let me know if you have any questions!
Buy the full source code that supports all grow/move values. You can simply add this source code to your mdb file to get the full features of the Form Resizer. No need to create special install routines to register components, this is entirely an Access VBA based solution wrapped up in a single Class module. Tested on Access 2000, XP and 2003.
The cost of the full version is only £10 (payment via paypal). Please send an email to the address at the top of the page and the payment details will be forwarded to you.