Code pour redimmentionner proportionnellement tous les objets d'une form quand on redimmentionne celle-ci

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 537 fois - Téléchargée 42 fois

Contenu du snippet

Tout est dit dans le titre, je pense, mais y'a juste un petit problème si vous changez un peu trop les dimentions, les contrôles risquent de bouger.

Source / Exemple :


'Code de Florent.
'Si vous ajoutez ce code dans un de vos programmes, citez-moi.

Option Explicit
Dim OldWidth As Integer 'On va stocker l'ancienne largeur de la feuille dans cette variable
Dim OldHeight As Integer 'De même pour le hauteur

Private Sub Form_Load()
OldWidth = Width 'Au chargement, l'ancienne largeur de la feuille est la largeur actuelle
OldHeight = Height 'De même pour la hauteur
End Sub

Private Sub Form_Resize()
On Error Resume Next 'Si il y a une erreur, on continue
Dim XCoeff As Single 'Le coefficient qui va nous servir pour la largeur et le placement horizontal des contrôles
Dim YCoeff As Single 'De même pour la hauteur et le placement vertical des contrôles
Dim Controle As Control 'Control représente n'importe quel contrôle de la feuille
XCoeff = Width / OldWidth 'Un simple rapport entre la nouvelle largeur et l'ancienne
YCoeff = Height / OldHeight 'Dee même pour la hauteur
For Each Controle In Me 'Pour chaque controle de la feuille...
Controle.Move Controle.Left * XCoeff, Controle.Top * YCoeff, Controle.Width * XCoeff, Controle.Height * YCoeff 'On le déplace et redimmentionne en même temps 
Next 'Et on passe au suivant
OldWidth = Width 'On change l'ancienne largeur par la nouvelle
OldHeight = Height 'De même avec la hauteur
End Sub

A voir également

Ajouter un commentaire

Commentaires

Messages postés
332
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
10 avril 2020
1
Très pratique, en effet
Je cherche sa pour les control OCX, car avec eux sa marche pô !
Messages postés
184
Date d'inscription
mercredi 8 décembre 2004
Statut
Membre
Dernière intervention
1 septembre 2010
1
très intéressant!!
Pour moi qui suit débutant les commentaires sont très utiles!!!!

10
@+
Messages postés
2
Date d'inscription
jeudi 19 août 2004
Statut
Membre
Dernière intervention
9 septembre 2004

je voudrais le même code mais avec une seule image non redimensionnable en plein écran pour ma MDI, merci!
Messages postés
467
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
21 avril 2010

En fait la proportionalitée marche nickel lorsqu on on agrandi ou retreci le fenetre mais au premier lancement de mon appli g tout qui est agrandi et qui donc depasse de ma form comme ché pas y mettre les scrollbar c genant
Messages postés
33
Date d'inscription
jeudi 27 septembre 2001
Statut
Membre
Dernière intervention
4 octobre 2003

ça marche pas pour les combobox?
j'ai un message d'erreur : la propriété Height est en lecture seule (faisant référence à un combobox)

kim
Afficher les 19 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.