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 :

TEdit (encore)


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    534
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 534
    Par défaut TEdit (encore)
    Bonjour,
    Je veux savoir s'il est possible de modifier
    l'alignement d'un TEdit ( ES_RIGHT ou taRight ) ?
    Si c'est possible je vous en remerçie.
    Merçi et bonne chance !

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Au niveau du texte ce n'est pas possible (BCB3)... Ce serait : taRightJustify.
    Au niveau de l'objet, c'est alRight... bien que la propriété Align
    ne soit pas éditable avec l'éditeur d'objets, elle est modifiable en dynamique...
    Pour un usage fantaisiste sans doute !

  3. #3
    Rédacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Par défaut
    Bonjour,

    Pour pouvoir aligner le texte à droite, il te faut développer un composant dérivé du TEdit.
    Tu peux certainement en trouver pour delphi, voire pour BCB, sur les sites de composants.

    Cordialement,

    Arnaud

  4. #4
    CGi
    CGi est déconnecté
    Expert confirmé
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    Détails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par défaut
    Pour q'un TEdit puisse s'aligner à droite il faut qu'il soit multilignes.
    De plus on ne peut pas changer ses paramètres sans le reconstruire.
    Donc la solution d'un composant est la meilleur surtout qu'il poura te reservir dans d'autre application.

    en voici le code mini :

    h
    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
     
    //.....
    enum TAlignement {Left, Center, Right};
     
    class PACKAGE TRightEdit : public TEdit
    {
    private:
            TAlignement FAlign;
            bool FNum; 
            void __fastcall SetAlign(TAlignement Value);
            void __fastcall SetNum(bool Value);
    protected:
            void __fastcall CreateParams(TCreateParams &Params);
    public:
            __fastcall TRightEdit(TComponent* Owner);
    __published:
            __property TAlignement Align = {read=FAlign, write=SetAlign, nodefault};
            __property bool Chiffres = {read=FNum, write=SetNum, nodefault};
    };
    //........
    cpp
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    /....
    __fastcall TRightEdit::TRightEdit(TComponent* Owner)
            : TEdit(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TRightEdit::SetAlign(TAlignement Value)
    {
         FAlign = Value;
         RecreateWnd();
    }
     
    void __fastcall TRightEdit::SetNum(bool Value)
    {
         FNum = Value;
         RecreateWnd();
    }
     
    void __fastcall TRightEdit::CreateParams(TCreateParams& Params)
    { 
        int ValAlign;
        int ValNum;
     
        switch (FAlign)
            {
             case 0 :
                    ValAlign = ES_LEFT;
                    break;
             case 1 :
                    ValAlign = ES_CENTER;
                    break;
             case 2 :
                    ValAlign = ES_RIGHT;
                    break;
            }
     
        if ( FNum == true ) ValNum = ES_NUMBER;
        else ValNum = 0;
     
        TEdit::CreateParams(Params);
        Params.Style = Params.Style | ES_MULTILINE | ValAlign | ValNum;
     
    }
    //....
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    534
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 534
    Par défaut TEdit
    Bonjour,
    Merçi pour votre explication pour le TEdit.
    J'attire votre attention sur le fait de modifier un
    TEdit en ES_MULTILINES revient à l'usage d'un
    TMemo. Dans un éditeur de ressoutces on peut
    définir un Edit non mutiligne et aligné à droite.
    Par exemple :
    CONTROL "", ID_THEID, "edit", ES_RIGHT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 92, 3, 108, 13
    Ceci va à l'encontre des affirmatons de la
    documentation sur l'API windows qui affirme
    que seuls les Edit multilignes peuvent être
    modifiés pour leur alignement.
    Ou est l'erreur ?
    Cordialement

  6. #6
    CGi
    CGi est déconnecté
    Expert confirmé
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    Détails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par défaut
    J'ai testé sans multiligne pas moyen d'aligner le TEdit à droite.

    Effectivement un Edit fait à partir de ressource s'alligne bien à droite sans
    le mettre en multiligne.

    Mystère...
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

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

Discussions similaires

  1. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 14h43
  2. TPalette (encore)
    Par Flipper dans le forum Langage
    Réponses: 3
    Dernier message: 28/11/2002, 23h45
  3. [TEdit][TListBox]Recherche instantanée
    Par SamDaKap dans le forum C++Builder
    Réponses: 3
    Dernier message: 19/11/2002, 21h31
  4. TEdit : selection du texte et autre fonction
    Par Odulo dans le forum Composants VCL
    Réponses: 5
    Dernier message: 01/08/2002, 14h27

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