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
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
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); };Cordialement,
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; }
Benjamin
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
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:
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 #ifndef TCENTEREDIT_H #define TCENTEREDIT_H class TCenterEdit : public TEdit{ public: __fastcall TCenterEdit(TComponent *Owner); private: void __fastcall CreateParams(TCreateParams& Params); }; #endif
Ensuite pour utiliser ce nouveau composant, inclus dans ton projet l'unité CenterEdit.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 #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; }
Là où tu veux l'utilisé, n'oublis pas unPuis déclare le tout simplement comme n'importe quel autre composant VCL:
Code : Sélectionner tout - Visualiser dans une fenêtre à part #include "CenterEdit.h"
Cordialement,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 TCenterEdit *CenterEdit1 = new TCenterEdit(this); CenterEdit1->Parent = this; //etc...
Benjamin
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager