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.
Auteur : Jessy SEMPERE