Auto redimensionnement de formulaires

Télécharger le fichier : Acc97AutoResize.zip


Cette base permet de comprendre comment il est possible en utilisant le code de mettre en place un redimensionnement automatique des contrôles de formulaire lorsqu'on le redimensionne.
Elle montre aussi comment on peut lors d'un développement d'une application permettre un redimensionnement automatique de tous les formulaires en fonction des résolutions de l'écran des utilisateurs.

Cette base de donnée est constituée de :

- 4 formulaires :

- _frmAutoResize
- _frmManuResized
- frmAutoResize
- frmManuResized

- 3 modules de classe :

- classControlSize
- classFormSize
- classGridBag

- 1 module :

- modResolution

Les formulaires "_frmAutoResize" et "_frmManuResized" n'intervienne pas dans l'application, il s'agit juste de la sauvegarde des 2 autres au cas ou une erreur se produirait et qu'il faille restaurer les formulaires.

Le formulaire "frmAutoResize" redimensionne automatiquement tous les contrôles lorsqu'on le redimensionne.
Il fait appelle aux 3 modules de classe à l'aide du code suivant :

**********************Début du code**********************

Option Compare Database
Option Explicit

Private gdb As New classGridBag

Private Sub Form_Close()
    gdb.DestroyFormAuto
    Set gdb = Nothing
End Sub

Private Sub Form_Open(Cancel As Integer)
    DoCmd.Restore
    gdb.InitFormAuto Me
End Sub

Private Sub Form_Resize()
    gdb.ReSizeFormAuto
End Sub

**********************Fin du code**************************

Le module de classe "classControlSize" permet de créer les classes objet contenant chacune les positions et les tailles de chaque contrôle d'un formulaire.

Le module de classe "classFormSize" permet de créer la classe objet contenant les tailles du formulaire redimensionné.

Le module de classe "classGridBag" permet quant à lui d'intialiser toutes les classes objet à l'ouverture et à chaque redimensionnement du formulaire.

Le formulaire "frmManuResized" est quant à lui redimensionné à l'aide du module "modResolution".
Ce module contrôle la propriété personalisée "Resolution" de la base de donnée, si elle est différente de la résolution de l'écran en cour, alors elle redimensionne le formulaire "frmManuResized" et met à jour la propriété "Resolution" de la base.

 

Retour haut de page

Auteur : Jessy SEMPERE