IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Etat : ajuster la taille d'un contrôle selon ce qu'il contient


Sujet :

IHM

  1. #1
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 75
    Points : 50
    Points
    50
    Par défaut Etat : ajuster la taille d'un contrôle selon ce qu'il contient
    Bonjour,

    Voilà mon problème. Je suis en train de designer un état et je souhaiterai que tous les controles d'une même ligne soient de la même hauteur que le + grand des contrôles de la ligne (tous les contrôles sont auto-extensibles selon le volume de données qu'ils contiennent). J'ai bien essayé la propriété "auto-extensible" et "auto-réductible" mais ceux-ci raisonnent individuellement ce qui me fait des lignes de données pas belle avec des contrôles d'un peu toutes les tailles alors que je souhaiterai qu'ils aient tous la même taille.

    Je ne sais pas si je suis clair mais je vous remercie par avance de vos éclaircissements.

  2. #2
    Membre expérimenté Avatar de stigma
    Homme Profil pro
    Créateur jeux vidéo
    Inscrit en
    Octobre 2003
    Messages
    1 118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Créateur jeux vidéo
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 118
    Points : 1 615
    Points
    1 615
    Par défaut
    Essaye toncontrole.Top = x par exemple (VBA)

  3. #3
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 75
    Points : 50
    Points
    50
    Par défaut
    Je ne vois pas en quoi la propriété "top" pourrait m'aider dans la emsure où c'est moi qui doit en fixer la valeur. Le but est que toute la ligne de contrôles soit automatiquement adaptée à la hauteur du plus grand contrôle de la ligne...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Je penses qu'il faudrait faire une boucle sur les contrôles qui sont à la même hauteur, stocker la plus grande valeur de hauteur, et ensuit la réaffecter à la hauteur de toute.

    Désolé, je n'ai pas Access sur ce poste, mais je pense que l'idée est bonne.

    Starec

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Oui, tu dois pouvoir le faire sur l'événement On format. Un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    dim c as control
    dim hMax as long:hMax=0
    for each c in me.section(acDetail)
      if c.height>hmax then
        hMax=c.height
      end if
    next c
     
    for each c in me.section(acDetail)
      c.height=hMax then
    next c

  6. #6
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 75
    Points : 50
    Points
    50
    Par défaut
    Bonjour,

    Merci pour le code mais il y a des erreurs notamment sur la définition de la variable "c". J'ai remplacé par afin que la propriété soit prise en compte. Malgré cela j'ai une erreur "Propriété ou méthode non gérée par cet objet" qui apparaît sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each c In Me.Section(acDetail)
    . N'étant pas coutumier de l'utilisation de variable de type "textbox" ou "control", que puis je faire pour arranger ça ?

    merci de vos réponses.

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    J'ai utilisé Control car ton état doit comporter autre chose que des textboxs. (Une 'textBox' est un type de 'control' particulier).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    dim c as control
    dim hMax as long:hMax=0
    for each c in me.section(acDetail).controls
     
      select case c.controltype
        case acTextBox
           if c.height>hmax then
             hMax=c.height
           end if
     
        case else
           'Ne rien faire
     
      end select
     
    next c
     
    for each c in me.section(acDetail).controls
      if c.controltype=acTextbox then c.height=hMax
    next c

Discussions similaires

  1. Ajuster la taille d'une liste selon le nombre de ses entées
    Par bkwaadbk dans le forum GTK+ avec C & C++
    Réponses: 4
    Dernier message: 02/04/2012, 10h48
  2. Réponses: 3
    Dernier message: 31/01/2008, 10h09
  3. Réponses: 41
    Dernier message: 24/05/2007, 13h27
  4. Réponses: 2
    Dernier message: 25/09/2006, 14h16
  5. Réponses: 9
    Dernier message: 13/09/2005, 17h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo