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]