En incluant ce code dans votre projet, ceci garantie qu'à chaque fois que l'utilisateur va redimensionner la fenêtre, tous vos contrôles seront toujours placé à la même place proportionnellement à celle où ils étaient auparavant !
Plein écran, fenêtré etc... votre form sera toujours la-même chez tous !
Ceci enlève aussi les problèmes de résolution d'écran : inutile de vous casser la tête à programmer dans la résolution à laquelle tournera l'appli !
TRANKIL en somme...
Source / Exemple :
'ya un zip aussi pour illustrer !
'------------------------------------
'code à placer dans une feuille nommer form1
'2 procédures en tout (form_load et form_resize)
'ATTENTION CECI FAIT DU TAG DES OBJETS UNE VALEUR OCCUPEE :
'en utilisant cette technique,
'le tag de chaque objet devient
'une valeur nécessaire'à son foncionnement,
'donc inutilisable pour toute autre chose de votre crue...
Private Sub Form_Load()
On Error Resume Next
Me.Tag = CStr(Me.Width) & ":" & CStr(Me.Height)
For Each object In Me
object.Tag = CStr(object.X1) & ":" & CStr(object.Y1) & ";" & CStr(object.X2) & "!" & CStr(object.Y2)
object.Tag = CStr(object.Width) & ":" & CStr(object.Height) & ";" & CStr(object.Left) & "!" & CStr(object.Top)
Next object
End Sub
Private Sub Form_Resize()
On Error Resume Next
For Each object In Me
'pour les graphiques
object.X1 = Val(Mid(object.Tag, 1, InStr(object.Tag, ":") - 1)) * Me.Width / Val(Mid(Me.Tag, 1, InStr(Me.Tag, ":") - 1))
object.Y1 = Val(Mid(object.Tag, InStr(object.Tag, ":") + 1, Len(object.Tag) - InStr(object.Tag, ":") + 1)) * Me.Height / Val(Mid(Me.Tag, InStr(Me.Tag, ":") + 1, Len(Me.Tag) - InStr(Me.Tag, ":") + 1))
object.X2 = Val(Mid(object.Tag, InStr(object.Tag, ";") + 1, Len(object.Tag) - InStr(object.Tag, ";") + 1)) * Me.Width / Val(Mid(Me.Tag, 1, InStr(Me.Tag, ":") - 1))
object.Y2 = Val(Mid(object.Tag, InStr(object.Tag, "!") + 1, Len(object.Tag) - InStr(object.Tag, "!") + 1)) * Me.Height / Val(Mid(Me.Tag, InStr(Me.Tag, ":") + 1, Len(Me.Tag) - InStr(Me.Tag, ":") + 1))
'pour le reste
object.Width = Val(Mid(object.Tag, 1, InStr(object.Tag, ":") - 1)) * Me.Width / Val(Mid(Me.Tag, 1, InStr(Me.Tag, ":") - 1))
object.Height = Val(Mid(object.Tag, InStr(object.Tag, ":") + 1, Len(object.Tag) - InStr(object.Tag, ":") + 1)) * Me.Height / Val(Mid(Me.Tag, InStr(Me.Tag, ":") + 1, Len(Me.Tag) - InStr(Me.Tag, ":") + 1))
object.Left = Val(Mid(object.Tag, InStr(object.Tag, ";") + 1, Len(object.Tag) - InStr(object.Tag, ";") + 1)) * Me.Width / Val(Mid(Me.Tag, 1, InStr(Me.Tag, ":") - 1))
object.Top = Val(Mid(object.Tag, InStr(object.Tag, "!") + 1, Len(object.Tag) - InStr(object.Tag, "!") + 1)) * Me.Height / Val(Mid(Me.Tag, InStr(Me.Tag, ":") + 1, Len(Me.Tag) - InStr(Me.Tag, ":") + 1))
Next object
End Sub
Conclusion :
Merci de me laisser VOS COMMENTAIRES !
@+ les programmeurs et programmeuses (ça fait bizare comme mot... ya bien un féminin à ce mot ?)
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.