Redimensionnement des controles en fonction des ordinateurs

Signaler
Messages postés
4
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
15 octobre 2008
-
Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
-
bonjour a tous,


j'ai un probleme avec mon programme. en faite la taille des controles et des images varie en fonction des ordinateurs. et je ne sais pas quoi faire pour que ces controles restent comme je les ai creer a l'origine. je sais que ca doit etre simple mais je n'ai vraiment aucune idee de la solution. merci

2 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
en fonction de la résolution ?
ou du rapport d'ecran (4/3 ou 16/9) ?
Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
1
Bonjour,

Peut être que tu peux paramètrer tes controle en fonction de la taille de ta fenêtre???
exemple :
'*************************************************************************
'* Reformatage de la feuille en adaptant les controles présents
'*************************************************************************
Private Sub Form_Resize()
Dim ctl As Control

    '-- On vérifie que le l'état visuel de la feuille n'est pas sur minimale
    '-- Si c'est le cas on sort de la procédure
    If (Me.WindowState = 1) Then Exit Sub
    '-- Pour chaque controle
    For Each ctl In Me.Controls
        '-- On vérifie le type de controle
        If TypeOf ctl Is ComboBox Then
            '-- Les comboboxes ont leur propriété Height en lecture seule
            '-- On modifie les propriétées de largeur, de position
            ctl.Move ctl.Left * Me.Width / lLng, ctl.Top * Me.Height / lLar, ctl.Width * Me.Width / lLng
        Else
            '-- On modifie les propriétées de largeur, de hauteur, de position
            If ExistProperty(ctl, "Width") And ExistProperty(ctl, "Height") Then
                ctl.Move ctl.Left * Me.Width / lLng, ctl.Top * Me.Height / lLar, _
                ctl.Width * Me.Width / lLng, ctl.Height * Me.Height / lLar
            End If
        End If
    Next
   '-- On redéfini les variables
    lLng = Me.Width
    lLar = Me.Height

End Sub


'*************************************************************************
'* On test si la propriété du controle existe
'*************************************************************************
Public Function ExistProperty(Obj As Object, ByVal PropertyName As String) As Boolean


    '-- Fonction qui test les différentes propriétés a savoir si elle existe ou pas.
    On Error Resume Next
    CallByName Obj, PropertyName, VbGet    ExistProperty (Err.Number 0)
    Err.Clear


End Function

Bon courage



S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- <