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

C++Builder Discussion :

Tcombobox alignement des textes


Sujet :

C++Builder

  1. #1
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    644
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 644
    Points : 754
    Points
    754
    Par défaut Tcombobox alignement des textes
    Est il possible d'aligner à droite ou de centrer les textes d'une TComboBox plutôt que d'avoir l'alignement à gauche 'standard' ?

    merci pour vos réponses!

    Langage Borland C++ 6 et/ou Delphi

  2. #2
    Membre expérimenté Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 886
    Points : 1 526
    Points
    1 526
    Par défaut
    A moins d'utiliser le style ownerdraw (dans ce cas on fait absolument ce qu'on veut), je ne crois pas que ce soit possible.

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    644
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 644
    Points : 754
    Points
    754
    Par défaut
    J'ai écris la macro
    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
     
     
     
    #define RightJustify(T,Indx,Rect)               \
       {                                            \
       if ( Indx >= T->Items->Count) return;        \
       if ( Indx <0 ) return;                    \
       AnsiString Text;                             \
       int TextWidth, TextHeight, RectHeight;       \
       T->Canvas->FillRect(Rect);                   \
       Text= T->Items->Strings[Indx];               \
       Rect.Right -= 2;                             \
       TextWidth= T->Canvas->TextWidth(Text);       \
       TextHeight= T->Canvas->TextHeight(Text);     \
       RectHeight= Rect.Bottom - Rect.Top;          \
       T->Canvas->TextOut(Rect.Right-TextWidth,Rect.Top + (RectHeight-TextHeight)/2,Text);\
       }
    puis appelé cette macro depuis l'event 'OnDrawItem'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    void __fastcall TAboutBox72::Fichier_lst_1DrawItem(TWinControl *Control,
          int Index, TRect &Rect, TOwnerDrawState State)
     
    RightJustify(Fichier_lst_1,Index,Rect)    // Common.h
    Ceci fonctionne pour TComboBox (Style = csOwnerDrawFixed) et
    TListBox ( style = lbOwnerDrawFixed )
    mais n'est pas très rapide si les listes sont longues.

Discussions similaires

  1. Look & Feel impose son alignement des textes
    Par rtg57 dans le forum Composants
    Réponses: 4
    Dernier message: 01/03/2010, 22h28
  2. Alignement des textes et valeurs
    Par fadsys dans le forum PureBasic
    Réponses: 1
    Dernier message: 09/08/2009, 07h16
  3. Aligner des équations à gauche (au même niveau que le texte)
    Par loicmaerte dans le forum Mathématiques - Sciences
    Réponses: 2
    Dernier message: 04/04/2008, 11h32
  4. StringGrid et alignement des textes
    Par j.p.mignot dans le forum Composants VCL
    Réponses: 1
    Dernier message: 06/02/2008, 15h26
  5. Alignement vertical des textes
    Par tokit dans le forum Mise en forme
    Réponses: 6
    Dernier message: 09/03/2007, 00h27

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