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 :

tabulation [FAQ]


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    35
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 35
    Par d�faut tabulation
    Bonsoir,

    J'ai un petit probl�me concernant l'insertion d'une tabulation entre deux colonnes d'un DBComboBox. Je n'arrive pas � le faire. L'id�e c'est d'aligner les lignes de la combo.

    Merci.

  2. #2
    Invit�
    Invit�(e)
    Par d�faut Tab
    Bonjour,

    Normalement, une tabulation c'est le caract�re "\t".

    Je ne sais pas si cela peut te servir...

    Je ne connais pas le composant que tu utilises, d�sol�.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    35
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 35
    Par d�faut
    Merci pour ta r�ponse mais ca ne marche pas. j'ai d�j� essay�. ca donne un 9 entre les colonnes: 1 9 m�tre par exemples avant: 1 m�tre. Moi je veux inserer une tabulation entre 1 et m�tre.

  4. #4
    DR
    DR est d�connect�
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mai 2002
    Messages
    28
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2002
    Messages : 28
    Par d�faut
    Tu peux essayer de redessiner les �l�ments de la Combo, auquel cas du dessineras "1" et un peu plus loin "m�tre".

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    35
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 35
    Par d�faut
    Si tu peux STP �tre un peu plus pr�cis.

    Je veux aligner toutes les lignes de la combo:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    1   mètre
    10  mètre
    200 mètre
    et non pas

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     1   mètre
     10   mètre
     200   mètre

  6. #6
    DR
    DR est d�connect�
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mai 2002
    Messages
    28
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2002
    Messages : 28
    Par d�faut
    Voici un exemple :

    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
    void __fastcall TForm1::ComboBox1DrawItem(TWinControl *Control, int Index, TRect &Rect, TOwnerDrawState State)
    {
      int PositionEspace;
      AnsiString LaPhrase,LePremierMot,LeSecondMot;
      ComboBox1->Canvas->FillRect(Rect);
      LaPhrase = ComboBox1->Items->Strings[Index];
      PositionEspace = LaPhrase.Pos(" ");   //On cherche ou mettre la 'tabulation'
      if (PositionEspace != 0)
        {//On découpe la phrase
          LePremierMot = LaPhrase.SubString(1,PositionEspace);
          LeSecondMot = LaPhrase.SubString(PositionEspace,LaPhrase.Length() - PositionEspace);
        }
      else
        LePremierMot = LaPhrase;
      DrawText(ComboBox1->Canvas->Handle,LePremierMot.c_str(),LePremierMot.Length(),(tagRECT *)&Rect,DT_VCENTER | DT_SINGLELINE | DT_LEFT);  //On écrit le premier mot
      Rect.Left += 40;  //On se décale un peu
      DrawText(ComboBox1->Canvas->Handle,LeSecondMot.c_str(),LeSecondMot.Length(),(tagRECT *)&Rect,DT_VCENTER | DT_SINGLELINE | DT_LEFT);  //puis le second
    }
    PS : ne pas oublier de mettre Style � csOwnerDrawFixed

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    35
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 35
    Par d�faut
    Merci bcp pour ton code, mais ca na pas r�gl� le probl�me, il y a toujours un d�calage quant il s'agit de 2 caract�res ou plus cad plus de 9:

    Affich�:
    Code nom

    1 bouteille
    10 vrac
    200 carte

    Souhait�:
    Code nom

    1 bouteille
    10 vrac
    200 carte

  8. #8
    Membre confirm�
    Avatar de Casp
    Homme Profil pro
    Reponsable Technique
    Inscrit en
    Avril 2003
    Messages
    133
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Reponsable Technique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 133
    Par d�faut
    salut,

    je ne voit pas bien la diff�rence entre ton affich� et souhait�, mais je pense avoir compris ton probl�me, en fait tu souhaites que les intitul� soient allign�s??

    pour commencer utilise la police courier (m�me si elle n'est pas tr�s belle) car tous les caract�res ont la m�me taille (occupe la m�me place).

    ensuite il faut que tu g�re le longueur de tes quantit�s, ie que tu doit savoir si il y a 1 chiffre, 2 ... et ensuite ajust� le nombre d'espace n�cessaire pour effectuer l'alignement de tes intitul�s

    j'esp�re avoir �t� assez claire et avoir r�pondu � a question.

  9. #9
    DR
    DR est d�connect�
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mai 2002
    Messages
    28
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2002
    Messages : 28
    Par d�faut
    Dans mon exemple pr�c�dent, j'ai mis 40 au pif. Il suffit de d�terminer � l'avance la valeur � mettre en fonction des items de ta Combo.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    35
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 35
    Par d�faut
    Merci � vous tous. J'ai trouv� la solution en s'inspirant de vos codes et de vos suggestions.

    Voici le code:
    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
    AnsiString Phrase,Mot1,Mot2;
     DBComboBox1->Canvas->FillRect(Rect);
     Phrase = DBComboBox1->Items->Strings[Index];
     Mot1 = Phrase.SubString(0,2);
     if (Phrase.SubString(3,1) == " ")
     {
      Mot2 = Phrase.SubString(4,Phrase.Length());
     }
     else
     {
      Mot2 = Phrase.SubString(3,Phrase.Length());
     }
     DrawText(DBComboBox1->Canvas->Handle,Mot1.c_str(),Mot1.Length(),(tagRECT *)&Rect,DT_VCENTER | DT_SINGLELINE | DT_LEFT);  //On écrit le premier mot
     Rect.left += 40;
     DrawText(DBComboBox1->Canvas->Handle,Mot2.c_str(),Mot2.Length(),(tagRECT *)&Rect,DT_VCENTER | DT_SINGLELINE | DT_LEFT);  //puis le second

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. espace ou tabulation?
    Par caribou_belle dans le forum Langages de programmation
    R�ponses: 27
    Dernier message: 05/10/2003, 11h57
  2. tabulation sur champs de saisie
    Par xClyde dans le forum Flash
    R�ponses: 2
    Dernier message: 25/09/2003, 16h49
  3. Taille des tabulations dans un TMemo ?
    Par dergen dans le forum Composants VCL
    R�ponses: 2
    Dernier message: 07/01/2003, 19h38
  4. Comment imprimer des tabulations ?
    Par Invit� dans le forum C++Builder
    R�ponses: 2
    Dernier message: 27/11/2002, 11h30
  5. [VB6] Touche de tabulation
    Par BernardMatthey dans le forum VB 6 et ant�rieur
    R�ponses: 9
    Dernier message: 26/11/2002, 22h06

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