cs_NuNu
Messages postés100Date d'inscriptionmercredi 29 mai 2002StatutMembreDernière intervention27 juillet 2004
-
20 mars 2003 à 18:15
jbonavia
Messages postés2Date d'inscriptionvendredi 25 juin 2004StatutMembreDernière intervention30 novembre 2005
-
25 juin 2004 à 21:02
Bonjour,
Comment redimensionner les éléments d'une feuille quand la feuille est redimensionnée ? (en VB)
J'ai trouvé un exemple mais avec 1 seul objet, ce n'est pas terrible.
Si qqn a qqc à me proposer sur ce sujet - idées, bout de code...-, ça m'aiderait bcp
jbonavia
Messages postés2Date d'inscriptionvendredi 25 juin 2004StatutMembreDernière intervention30 novembre 2005 25 juin 2004 à 21:02
J'ai fait ce code pour une feuille (qui n'avait que 3 contrôles d'importance, mais ça montre l'idée) -
L'important est de savoir avec quel controle on a affaire...les différents contrôles doivent être traités selon le cas. Les deux "SGGRID" par ex. sont creés par un logiciel shareware: je veux faire allonger les deux vers le bas, mais seul le SGGrid2 doit changer de largeur. Le command button je veux seulement déplacer á droit, &c.
Private Sub Form_Resize()
Dim i As Integer
Dim c As Control
Dim WidthFactor As Single
Dim HeightFactor As Single
Dim widthdiff As Long
Dim newWidth As Long
If Me.Width <> m_lastWidth Or Me.Height <> m_lastHeight Then
WidthFactor = Me.Width / m_lastWidth
HeightFactor = Me.Height / m_lastHeight
widthdiff = Me.Width - m_StartWidth
For i = 0 To Me.Controls.Count - 1
Set c = Me.Controls(i)
If TypeOf c Is CommandButton Then
c.Left = c.Left * WidthFactor
End If
If TypeOf c Is SGGrid Then
c.Height = c.Height * HeightFactor
If c.Name = "SGGrid2" Then
newWidth = SGGrid2.Width + widthdiff
If newWidth >= SGGrid2.ColWidthMin Then
SGGrid2.Width = newWidth
SGGrid2.Columns(1).Width = newWidth - SGGrid2.Columns(0).Width
End If
End If
End If
Next i
m_lastWidth = Me.Width
m_lastHeight = Me.Height
End If
end sub
vous me pardonnerez des fautes de français, s'ily en a....suis un écossais habitant a Boston. . .