unit CDBEditAlign;
interface
uses
Windows, Messages, SysUtils, Classes, Controls, StdCtrls, DBCtrls;
type
TEditAlignment = (eaLeft, eaCenter, eaRight);
TDBEditAlign = class(TDBEdit)
private
fAlignment: TEditAlignment;
procedure setAlignment(nValue: TEditAlignment);
protected
procedure CreateParams(var Params: TCreateParams); override;
public
published
property Alignment: TEditAlignment read fAlignment write setAlignment;
end;
procedure Register;
implementation
procedure TDBEditAlign.setAlignment(nValue: TEditAlignment);
begin
if fAlignment <> nValue then begin
fAlignment:= nValue;
RecreateWnd;
end;
end;
procedure TDBEditAlign.CreateParams(var Params: TCreateParams);
const
Alignments: array[TEditAlignment] of Longint = (ES_LEFT, ES_CENTER, ES_RIGHT);
begin
inherited CreateParams(Params);
CreateSubClass(Params, 'DBEDIT');
Params.Style := Params.Style or Alignments[fAlignment];
end;
procedure Register;
begin
RegisterComponents('samples', [TDBEditAlign]);
end;
end.