NEO ::: TEAM
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

NEO ::: TEAM

New Evolution Owner
 
AccueilRechercherDernières imagesS'enregistrerConnexion
Le deal à ne pas rater :
Manette DualSense PS5 édition limitée 30ème Anniversaire : où ...
Voir le deal

 

 Comment aligner à droite le contenu d'un TControl (TEdit...)

Aller en bas 
2 participants
AuteurMessage
Admin
Fondateur
Fondateur
Admin


Nombre de messages : 197
Age : 40
Localisation : Tlemcen ( Algérie )
Date d'inscription : 04/12/2006

Comment aligner à droite le contenu d'un TControl (TEdit...) Empty
MessageSujet: Comment aligner à droite le contenu d'un TControl (TEdit...)   Comment aligner à droite le contenu d'un TControl (TEdit...) Icon_minitimeJeu 18 Jan - 17:07

[url=#aligntext]Comment aligner à droite le contenu d'un
TControl (TEdit...) ?[/url]



L'astuce est d'utiliser la propriété BiDiMode du TControl (ancêtre des
composants visibles). Ce mode bidirectionnel spécifie la direction de la lecture
du texte. En localisant l'application on arrive à aligner le texte à
droite.
Dans l'événement OnCreate :



Code:



{Indique une localisation moyen-orientale }
SysLocale.MiddleEast := True;
{Exemple avec un TEdit }
MyEdit.BiDiMode := bdRightToLeft;



Ceci fonctionne avec la plupart des descendants du TControl : TEdit, TMaskEdit,
TListBox...

Dans le cas du TEdit il existe deux autres solutions :
-
Utiliser un TMemo ayant pour hauteur la hauteur d'un TEdit et sa propriété
WantReturns à false
- Créer un TEdit qui accepte l'alignement à droite :


Code:



type
  TMonEdit = class(TEdit)
  private
    FTextAlign: TAlignment;
    procedure SetTextAlign(Value: TAlignment);
  protected
    procedure CreateParams(var Params: TCreateParams); override;
  public
    constructor Create(AOwner: TComponent); override;
  published
    property TextAlignment: TAlignment read FTextAlign write SetTextAlign;
  end;
implementation

constructor TMonEdit.Create(AOwner: TComponent);
begin
  inherited;
  FTextAlign := taLeftJustify;
end;

procedure TMonEdit.CreateParams(var Params: TCreateParams);
const
 Alignments: array[TAlignment] of Word = (ES_LEFT, ES_RIGHT, ES_CENTER);
begin
 inherited CreateParams(Params);
 Params.Style := Params.Style or Alignments[TextAlignment];
end;

procedure TMonEdit.SetTextAlign(Value: TAlignment);
begin
  if FTextAlign <>Value then
    Begin
    FTextAlign := Value;
    RecreateWnd;
  End;
end

Revenir en haut Aller en bas
https://neo-team.forumactif.com
data$hack

data$hack


Nombre de messages : 4
Localisation : vbspiders
Date d'inscription : 28/06/2010

Comment aligner à droite le contenu d'un TControl (TEdit...) Empty
MessageSujet: Re: Comment aligner à droite le contenu d'un TControl (TEdit...)   Comment aligner à droite le contenu d'un TControl (TEdit...) Icon_minitimeLun 28 Juin - 18:03

tres bien
Revenir en haut Aller en bas
 
Comment aligner à droite le contenu d'un TControl (TEdit...)
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Comment imprimer le document ?
» Comment cacher les scrollbars ?
» Comment changer la couleur d'un TProgressBar ?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
NEO ::: TEAM :: Informatique :: Les RADs :: Borland Delphi 4,5,6,7-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser