1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| Option Explicit
' Constantes
Private Const LargMin As Single = 3975
Private Const HautMin As Single = 3630
Private Sub Form_Load()
picPanneauBas.Tag = Me.ScaleWidth
Me.WindowState = vbMaximized
End Sub
Private Sub Form_Resize()
'* ' Prévenir les erreurs provoquées par un redimentionnement vers des
'* ' dimentions trop petites pour les commandes qui suivent cette instruction
If Me.ScaleWidth <= LargMin Or Me.ScaleHeight <= HautMin Then Exit Sub
' Déplacer les boutons de droite
picBoutonsDroite.Left = Me.ScaleWidth - picBoutonsDroite.Width
'* ' et sa hauteur
picBoutonsDroite.Height = Me.ScaleHeight - picPanneauBas.Height
' Agrandir le panneau du bas en repositionnant les boutons
' et en étirant le label
' Note la propriété Tag du panneau contient la dernière largeur de celui-ci
picPanneauBas.Width = Me.ScaleWidth
picPanneauBas.Top = Me.ScaleHeight - picPanneauBas.Height
' position des boutons
cmdAnnuler.Left = cmdAnnuler.Left + (picPanneauBas.Width - picPanneauBas.Tag)
cmdEnregistrer.Left = cmdEnregistrer.Left + (picPanneauBas.Width - picPanneauBas.Tag)
' largeur du Label
lblMessage.Width = lblMessage.Width + (picPanneauBas.Width - picPanneauBas.Tag)
picPanneauBas.Tag = picPanneauBas.Width
' Taille du textbox en fonction des deux panneaux
txtAffichage.Width = Me.ScaleWidth - picBoutonsDroite.Width
txtAffichage.Height = Me.ScaleHeight - picPanneauBas.Height
End Sub |