nostra78
Messages postés137Date d'inscriptionjeudi 10 mars 2005StatutMembreDernière intervention 6 décembre 2005
-
31 août 2005 à 11:13
nostra78
Messages postés137Date d'inscriptionjeudi 10 mars 2005StatutMembreDernière intervention 6 décembre 2005
-
31 août 2005 à 15:44
Bonjour,
j'aimerais connaître le code pour créer deux boutons réduire agrandir. Le bouton agrandir devra permetre aussi de garder la proportion des contrôles. Pour plus d'infos, n'hésitez pas à me poser des kestions.
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 31 août 2005 à 11:32
Violent Ken
Réduire la form : Form.WindowState = vbMinimized
Agrandir la form : Form.WindowState = vbMaximized
Et pour garder la proportion des contrôles, voilà le code de Florent :
'tu mets çà dans ta form
Code de Florent.
'Si vous ajoutez ce code dans un de vos programmes, citez-moi.
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ê
End Sub
Private Sub UserForm_Activate()
EnableWindow FindWindowA("XLMAIN", Application.Caption), 1
End Sub
Private Sub UserForm_Initialize()
Dim hWnd As Long
hWnd = FindWindowA(vbNullString, Me.Caption)
SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) Or &H20000
End Sub