Code permettant de lister la taille des controls

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 045 fois - Téléchargée 30 fois

Contenu du snippet

Je ne sais pas si ca pourra etre utile a quelqu'un mais je le poste quand meme.
Je developpe une appli sensee tourner sur plusieurs machines et donc sencee prendre en compte le resize des controls.
Je ne sais pas si il existe une solution miracle mais pour ma part j'ai opte pour une mise en page specifiaque a chaque resolution.
Bref, il faut se pallucher tous les parametres de taille et de position des controles manuellement...c'est penible.
Ce petit bout de code, ( vu la longueur je n'ai pas mis de zip), cree un fichier Taille des controls.txt dans le app.path et va y inscrire toutes les tailles des controls comme suit.

With Control1
. Height= xxx
. Top = xxx
. Left = xxx
. width = xxx
end with

Ensuite ya plus qu a copier/coller ce qui vous interresse.

PS: soyez pas trop durs, je debute

Source / Exemple :


Public Function ScanControlsize()
    Dim xav As Integer  ' Numero du fichier pour l'ouverture
    Dim ctrl As Control ' Control
    
    xav = FreeFile      ' On recupere un numero de fichier libre pour l'ouverture
    Open App.Path & "\Tailles des controls.txt" For Output As #xav ' on ouvre le fichier

    On Error Resume Next    ' Continu si erreur
    For Each ctrl In form1.Controls ' pour chaque controls de la form1
        Print #xav, ""              ' blablabla
        If ctrl.index = "" Then Print #xav, "with form1." & ctrl.Name
        If ctrl.index <> "" Then Print #xav, "with form1." & ctrl.Name & "(" & ctrl.index & ")"
        Print #xav, "   .height = " & ctrl.Height
        Print #xav, "   .left = " & ctrl.Left
        Print #xav, "   .top = " & ctrl.Top
        Print #xav, "   .width = " & ctrl.Width
        Print #xav, "end with"
        Print #xav, ""
     
    Next ctrl

Close #1    ' on ferme le fichier quand c'est finit.
End Function

A voir également

Ajouter un commentaire

Commentaires

cs_jbaudens
Messages postés
3
Date d'inscription
mardi 17 septembre 2002
Statut
Membre
Dernière intervention
1 septembre 2004
-
Sinon, si quelqu'un connait un truc pour mettre en concordance fe form en developpement (controles positionnés manuellement par pages de propriétés) et form execution (controles positionnés manuellement par le code)
cs_jbaudens
Messages postés
3
Date d'inscription
mardi 17 septembre 2002
Statut
Membre
Dernière intervention
1 septembre 2004
-
C'est un bon code. moi j'ai un autre exemple, qui envoie le resultat dans la fenetre execution.

exemple d'utilisation:

- mettre en pause l'appli.
- ctrl + G pour appeler la fenetre execution
- taper "Call get_obj_pos(form1)"
- le code s'affiche à la suite.


Public Sub get_obj_pos(frm As Form)
Dim i As Control

For Each i In frm.Controls

Debug.Print frm.Name & "." & i.Name & ".top =" & i.Top
Debug.Print frm.Name & "." & i.Name & ".left =" & i.Left
Debug.Print frm.Name & "." & i.Name & ".height =" & i.Height
Debug.Print frm.Name & "." & i.Name & ".width =" & i.Width

Next

End Sub
bizmoute
Messages postés
29
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
21 novembre 2008
-
Labout, que veux-tu dire par vbscript et ScriptControle?
Aurais tu un exemple stp? Ça semble bien intéressant...
C'est pour réutiliser les valeurs du "\Tailles des controls.txt"?
bizmoute
Messages postés
29
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
21 novembre 2008
-
Labout, que veux-tu dire par vbscript et ScriptControle?
Aurais tu un exemple stp? Ça semble bien intéressant...
C'est pour réutiliser les valeurs du "\Tailles des controls.txt"?
cs_labout
Messages postés
1356
Date d'inscription
samedi 8 décembre 2001
Statut
Membre
Dernière intervention
23 octobre 2006
5 -
Très bien je t'ai mis 10 si c'est un début c'est.
pour réinitialiser il suffit d'utiliser vbscript avec l'objet ScriptControle

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.