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 !
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 !
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 !
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
A lire : Les règles du forum
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
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 //..... 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}; }; //........
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)
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
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)
Partager