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 :

Centrer TEdit ou similaire


Sujet :

C++Builder

  1. #1
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 185
    Points : 65
    Points
    65
    Par défaut Centrer TEdit ou similaire
    Bonjour tout le mode,
    je voudrais savoir si il était possible de centrer le texte rentré par l'utilisateur dans un TEdit ou si il éxistait un composant similaire qui le permet...
    Merci d'avance

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 190
    Points : 179
    Points
    179
    Par défaut
    Bonjour,
    Définit une class héritant de TEdit de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    class TCenterEdit : public TEdit{
      public:
      __fastcall TCenterEdit(TComponent *Owner);
     
      private:
      void __fastcall CreateParams(TCreateParams& Params);
    };
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    __fastcall TCenterEdit::TCenterEdit(TComponent *Owner):TEdit(Owner){
     
    }
     
    void __fastcall TCenterEdit::CreateParams(TCreateParams& Params)
    {
        TEdit::CreateParams(Params);
        Params.Style = Params.Style | ES_CENTER;
     
    }
    Cordialement,
    Benjamin

  3. #3
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 185
    Points : 65
    Points
    65
    Par défaut
    Merci pour t'as réponse mais je ne comprend pas ou je doit mettre ce code et comment l'affecter a TEdit. Pourrai-tu donner plus de detail

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 190
    Points : 179
    Points
    179
    Par défaut
    Bonsoir,

    Ce que je t'ai proposé, ce n'est pas d'affecter comme tu dis ce code au TEdit, mais de définir une nouvelle classe héritant de TEdit.

    Pour obtenir TCenterEdit, j'ai redéfinis la méthode CreateParams, qui est appelée automatiquement avant la construction du composant. C'est dans cette méthode que j'initialise un nouveau paramètre de construction ES_CENTER.

    Le composant TCenterEdit aura donc toutes les caractéristiques (propriétés, méthodes, etc..) d'un TEdit, tout en ayant reçu pour sa construction un paramètre lui signifiant qu'il doit être centré.

    Donc pour être un peu plus clair, tu dois créer un fichier CenterEdit.h contenat le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #ifndef TCENTEREDIT_H
    #define TCENTEREDIT_H
    class TCenterEdit : public TEdit{
      public:
      __fastcall TCenterEdit(TComponent *Owner);
     
      private:
      void __fastcall CreateParams(TCreateParams& Params);
    };
    #endif
    Et un fichier CenterEdit.cpp, le code suivant:
    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
     
    #include "CenterEdit.h"
     
    //Constructeur
    __fastcall TCenterEdit::TCenterEdit(TComponent *Owner):TEdit(Owner){
    //je ne mets rien, je me contente juste de passer dans le constructeur d'un TEdit 
    }
     
    void __fastcall TCenterEdit::CreateParams(TCreateParams& Params)
    {
        //je passe dans un premier temps dans la méthode CreateParams d'un TEdit
        TEdit::CreateParams(Params);
        //je rajoute mon paramètre de construction ES_CENTER
        Params.Style = Params.Style | ES_CENTER;
     
    }
    Ensuite pour utiliser ce nouveau composant, inclus dans ton projet l'unité CenterEdit.cpp.
    Là où tu veux l'utilisé, n'oublis pas un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include "CenterEdit.h"
    Puis déclare le tout simplement comme n'importe quel autre composant VCL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    TCenterEdit *CenterEdit1 = new TCenterEdit(this);
    CenterEdit1->Parent = this;
    //etc...
    Cordialement,
    Benjamin

Discussions similaires

  1. TEdit (encore)
    Par dj.motte dans le forum C++Builder
    Réponses: 5
    Dernier message: 23/12/2002, 19h02
  2. [TEdit][TListBox]Recherche instantanée
    Par SamDaKap dans le forum C++Builder
    Réponses: 3
    Dernier message: 19/11/2002, 21h31
  3. Centrer un texte dans un string Grid
    Par christine dans le forum C++Builder
    Réponses: 5
    Dernier message: 22/10/2002, 22h33
  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