Thema: Delphi Tedit disabled

Einzelnen Beitrag anzeigen

ketraun
(Gast)

n/a Beiträge
 
#7

Re: Tedit disabled

  Alt 12. Aug 2003, 15:44
hi,
ich bin ja nicht doof, natürlich hab ich eine neue Komponente erstellt.
In der Entwicklungsumgebung gejts, nur zur Laufzeit nicht!
Der Alignmentkram muss nicht interressieren, ist zum Ausrichten gedacht!
Mach ich was falsch? Oder steht ich auf der Leitung?

ketraun
Delphi-Quellcode:
type
  TmaskeditL = class(Tmaskedit)
  private
    { Private-Deklarationen }
    fAlignment : TAlignment;
    fcolor:tcolor;
  protected
    { Protected-Deklarationen }
    procedure SetEnabled(Value: Boolean); override;
  public
    { Public-Deklarationen }
    procedure SetAlignment(const Value: TAlignment);
    procedure Setfcolor (const Value: Tcolor);
    procedure CreateParams(var Params: TCreateParams);override;
  published
    { Published-Deklarationen }
    property Alignment : TAlignment read fAlignment write SetAlignment;
    property dis_color:Tcolor read fcolor write Setfcolor;
  end;

procedure Register;

implementation

procedure TmaskEditL.SetAlignment(const Value: TAlignment);
begin
  if Value <> fAlignment then
     begin
       fAlignment := Value;
       RecreateWnd; // erzeuge Fenster neu -> CreateParams
     end;
end;

procedure TmaskEditL.Setfcolor (const Value: Tcolor);
begin
   fcolor:=value;
end;

procedure TmaskEditL.CreateParams(var Params: TCreateParams);
const
  cAlignStyles: array [TAlignment] of Cardinal = (ES_LEFT, ES_RIGHT, ES_CENTER);
begin
  inherited;
  with Params do
    Style := Style or cAlignStyles[fAlignment];//taRightJustify];
end;

procedure TmaskEditL.SetEnabled(Value: Boolean);
begin
  inherited;
  if Value then
     Font.Color := clWindowText
  else
     Font.Color := fcolor;
end;

procedure Register;
begin
  RegisterComponents('Zusätzlich', [TmaskeditL]);
end;
[edit=Luckie]Delphi-Tags hinzugefügt. Mfg, Luckie[/edit]
  Mit Zitat antworten Zitat