Learn Microsoft Access Advanced Programming Techniques, Tips and Tricks.

Saturday, July 14, 2012

Stretching Controls when resizing Form View

Introduction

A sample image of an Employees Form Design is given below:

When you view this screen in a maximized Application Window, the view will be something like the following image:

The normal view of the Employees Form, in maximized Application Windows, shows an empty stretch of space to the right of the data fields.  The Form Title Employees stay where it is placed in a Label control centralized over the data field controls.

Now, look at the following image taken after the Anchor Settings to the controls, which respond dynamically to move or stretch across the screen based on the re-sizing of the screen:

Compare both images given above.  The second column of controls automatically moved to the right edge of the screen, when the screen is maximized.  Left side controls stretched to the right filling empty areas on the form, giving more space for viewing or keying in information.  The heading Employees moved to the center of the screen.  The  Note field (memo field type) stretched down and across to display or edit more text into the field very easily.

Want to find out how this trick works in MS-Access 2007?  If you have a form with a design similar to the one shown on top of this page you may use that (this works with any form) to try this simple trick.

Design a Form.

Let us design a Form with the Employees Table from the sample database Northwind.

  1. Import Employees Table from the Northwind sample database.

  2. Create a form with a similar design shown on top of this page.  You can use the Form Wizard to create the form in Column format and rearrange the controls.

  3. Select all the controls of the second column together and move it down, to get enough space for the Fax-Number and Address fields, which we are going to bring from the first column and place them on top of the second column.

  4. Select Fax Number and Address Fields, and right-click on them to display the shortcut menu.

  5. Select Cut from the menu to remove both text boxes and their child labels from the first column controls group.

  6. Right-Click somewhere in the Detail Section and select Paste to paste them back into the detail section.

  7. Move the pasted controls and place them on top of the second column of controls.

  8. Select and cut the Note Field and its child label from the second column and places them below the first column of controls.

So far, what we did was a normal form design and re-arranging controls as we normally do.  But, in the Note field, we have removed it from the second column controls group and placed it below the first column, as an independent control (not part of any control group), to apply a different Anchoring action.

  1. Save the Form and open it in Form View to check what the current design looks like.

    Implementing the Trick.

  2. Change the Form in Design View.

    Let us start implementing the tricks one by one on the controls on the Form from the top.  First, let us start with the header Label. We want this Form heading to get centralized within the available width of the form when the Form View expands or shrinks.  If the text Employees in the header title label, is not centralized within the current label width, then select the label, and select the Center Ribbon button from Design Menu.  Now, we are ready to implement the magic settings on the controls.

    When the screen is maximized, we want the heading label, Stretch Across to the width of the screen so that the heading text Employees automatically move and center horizontally on the enlarged screen.  If the form is resized manually to make it shrink or expand the label should respond accordingly. To make it happen do the following:

  3. Click on the heading label to select it.

  4. Select Arrange - - >Anchoring - - >Stretch Across Top.

    To test the effect of this setting you may open the Form in Normal View, maximize the form, and check whether the form title ‘Employees’ moves across the screen to the center of the expanded screen or not.  You may try to manually resize the form window from the right edge of the form, by displaying the sizing control of the mouse, clicking and holding the left mouse button, and dragging the right edge to the left slowly, watching the heading label responds to the manual resizing action.  Or minimize the Navigation panel and display it again so that the form display window expands and shrinks quickly.  Now let us play a few tricks with other sets of controls on the Detail Section.

  5. Place the Form back into Design View.

  6. Highlight and select all the second column TextBoxes.

  7. Select Arrange - - >Anchoring - - >Top Right or right-click on the selected controls and select Anchoring - - > Top Right from the shortcut menu.

  8. Change the form in Form View and preview the effect of our setting. Change the form back into Design View again.

  9. Select the TextBoxes in the left column, except the Note field.

  10. Right-click on the controls and select Anchoring - - > Stretch Across Top.

  11. Select the Notes field, right-click on the control and select Anchoring - - > Stretch Down and Across.

It is all done and you may save the form and open it in Normal View for testing by resizing the form view manually to view the action in slow motion.

No comments:

Post a Comment

Comments subject to moderation before publishing.

Powered by Blogger.