Hi,
hier ist eine funktionierende Komponente mit der man den Text in Tmaskedit ausrichten kann. Wer tedit benutzen will muss nur tmaskedit durch Tedit ersetzen.
Das ganze
Winapi Zeugs, mit dem man das angeblich auch machen kann ist Betriebssystemabhängig und funktioniert mal und mal nicht.
unit maskeditL;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask;
type
TmaskeditL = class(Tmaskedit)
private
{ Private-Deklarationen }
fAlignment : TAlignment;
protected
{ Protected-Deklarationen }
public
{ Public-Deklarationen }
procedure SetAlignment(const Value: TAlignment);
procedure CreateParams(var Params: TCreateParams);override;
published
{ Published-Deklarationen }
property Alignment : TAlignment read fAlignment write SetAlignment;
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.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 Register;
begin
RegisterComponents('Zusätzlich', [TmaskeditL]);
end;
Wer will kann dem Ding auch noch ein Icon verpassen.
ketraun