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

Delphi Discussion :

panels taille identique


Sujet :

Delphi

  1. #1
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 166
    Points : 91
    Points
    91
    Par défaut panels taille identique
    Salut,
    Je dispose d'un panel container paContainer, et de deux autres panels (paLeft & paRight) de même taille (donc de taille paContainer.Height / 2) inclus dans celui-ci. Comment faire pour que lors du redimensionnement de mon appli (et donc de paContainer), paLeft et paRight soient redimensionnés de façon à ce qu'ils aient toujours tous les deux la même taille qui est égale je le rappelle à la moitié de celle de paContainer ? (j'espère que j'ai été assez clair ... )
    Merci !!!

  2. #2
    Membre éprouvé Avatar de der§en
    Homme Profil pro
    Chambord
    Inscrit en
    Septembre 2005
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Chambord
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2005
    Messages : 864
    Points : 1 225
    Points
    1 225
    Par défaut
    En fait tu devrais avoir tes 2 sous-panels avec des alignements différents, je m'explique, paLeft avec Align := alLeft et paRight avec Align := alClient.

    Puis pour toujours les avoir a la même taille, tu définis l'évènement OnResize du paContainer en y mettant un truc du genre:

    paClient.Widht := paContainer.Width div 2;


    Et du coup paClient sera lui aussi automatiquement a la bonne taille.

    Der§en.

  3. #3
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 937
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 937
    Points : 15 387
    Points
    15 387
    Par défaut
    donc de taille paContainer.Height / 2
    paContainer.Width / 2 tu veux dire !
    Et donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    panelgauche.Width := panelContainer.Width / 2;
    paneldroit.Left   := panelgauche.Width; // peut-être avec "+ 1", pas testé.
    paneldroit.Align  := alClient;
    Rien testé mais c'est qqchse comme ça !
    --
    jp

  4. #4
    Membre éprouvé Avatar de der§en
    Homme Profil pro
    Chambord
    Inscrit en
    Septembre 2005
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Chambord
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2005
    Messages : 864
    Points : 1 225
    Points
    1 225
    Par défaut
    Oui c'est le paContainer.Width qu'il fallait comprendre, désolé.

    Par contre la ligne suivante est totalement inutilse si tu suis ce que je t'ai dis sur les alignement de tes 2 sous-panels:
    paneldroit.Left := panelgauche.Width;

    Der§en.

  5. #5
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 166
    Points : 91
    Points
    91
    Par défaut
    Ah oui ! suis-je sot ! Je peux pas tester pour l'instant (le travail c'est fini pour aujourd'hui !!!) mais je le ferais demain. Idem pour la balise [résolu] (il ne faut pas vendre la peau de l'ours etc...).
    Merci

  6. #6
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 166
    Points : 91
    Points
    91
    Par défaut
    Galère ! Voici ce que je me reçois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    paFilterTravels.Width := paFilters.Width / 2;
     
    [Pascal Error] Unit1.pas(58): E2010 Incompatible types: 'Integer' and 'Extended'
    [Pascal Fatal Error] Project1.dpr(5): F2063 Could not compile used unit 'Unit1.pas'
    C'est quoi un 'Extended' ???

  7. #7
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 166
    Points : 91
    Points
    91
    Par défaut
    J'ai trouvé. Il suffisait de convertir l'entier reçu en Extended et totu roule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    paLeft.Width := Round(paContainer.Witdh / 2);
    Ci@o tutti !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Taille identiques pour deux DataGridViews
    Par lainlain dans le forum VB.NET
    Réponses: 2
    Dernier message: 06/08/2014, 09h26
  2. Tableau avec Text et Label de taille identique
    Par solika dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 06/03/2012, 15h50
  3. taille identique des types elementaires
    Par new_wave dans le forum Langage
    Réponses: 2
    Dernier message: 01/12/2009, 14h01
  4. taille identique de 2 listes deroulantes
    Par couse1 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 25/03/2008, 12h59
  5. Taille identique de plusieurs graphiques
    Par aurel_ben dans le forum MATLAB
    Réponses: 0
    Dernier message: 20/02/2008, 19h12

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