Redimensionnement des controles en fonction des ordinateurs

cs_jmau Messages postés 4 Date d'inscription mercredi 17 octobre 2007 Statut Membre Dernière intervention 15 octobre 2008 - 15 oct. 2008 à 11:04
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009 - 15 oct. 2008 à 12:24
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

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
15 oct. 2008 à 11:10
en fonction de la résolution ?
ou du rapport d'ecran (4/3 ou 16/9) ?
0
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
15 oct. 2008 à 12:24
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 -- <
0
Rejoignez-nous