Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Edit Text zentriert darstellen ? (https://www.delphipraxis.net/44386-edit-text-zentriert-darstellen.html)

PierreB 18. Apr 2005 21:04


Edit Text zentriert darstellen ?
 
Hi,

ich hab da mal ne Frage: (Entweder bin ich blind oder blöd aber ich finds net)
Wie kann ich Text in einem Edit zentriert darstellen, also das es in der Mitte steht (der Text) ?


Thx

mr47 18. Apr 2005 21:09

Re: Edit Text zentriert darstellen ?
 
afaik gar nicht. Es gibt auf jeden fall keine entsprechende Property! (oder ich bin auch blind :mrgreen: )

mfg

PierreB 18. Apr 2005 21:11

Re: Edit Text zentriert darstellen ?
 
Gut, dann bin ich doch nicht blöd ! :mrgreen:

Aber wie kann ich das machen ?

toms 18. Apr 2005 21:11

Re: Edit Text zentriert darstellen ?
 
Dazu müssen die CreateParams von der Klasse TEdit überschrieben werden.
Folgende Unit kann als Komponente installiert werden.


Delphi-Quellcode:
unit AlignEdit;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type

  TAlign = (eaLeft, eaCenter, eaRight);

  TAlignEdit = class(TEdit)
  private
    { Private-Deklarationen }
    FAlign: TAlign;
    procedure SetAlign(const Value: TAlign);
  protected
    { Protected-Deklarationen }
    procedure CreateParams(var Params: TCreateParams); override;
  public
    { Public-Deklarationen }
    constructor Create(AOwner: TComponent); override;
  published
    { Published-Deklarationen }
    property Alignment: TAlign read FAlign write SetAlign default eaLeft;
  end;

procedure Register;

implementation

constructor TAlignEdit.Create(Aowner: TComponent);
begin
  inherited Create(AOwner);
  FAlign := eaLeft;
end;

procedure TAlignEdit.SetAlign(const Value: TAlign);
begin
  if FAlign <> Value then
  begin
    FAlign := Value;
    RecreateWnd;
  end;
end;

procedure TAlignEdit.CreateParams(var Params: TCreateParams);
begin
  inherited;
  case FAlign of
    eaLeft: Params.Style  := Params.Style or ES_LEFT;
    eaCenter: Params.Style := Params.Style or ES_CENTER;
    eaRight: Params.Style := Params.Style or ES_RIGHT;
  end;
end;

procedure Register;
begin
  RegisterComponents('SwissDelphiCenter', [TAlignEdit]);
end;

end.

PierreB 18. Apr 2005 21:27

Re: Edit Text zentriert darstellen ?
 
Dankeschön, mal gucken ob ich das installiert bekomme.
Nur unter D05 kann ich ja nur noch Packages erstellen !?

leddl 18. Apr 2005 21:30

Re: Edit Text zentriert darstellen ?
 
Na dann erstellst du ein Package, fügst die Unit hinzu, compilierst und installierst es. Fertig! :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz