继承TEdit,重载CreateParams,修改Param即可。
procedure TEdit_Ex.CreateParams(var Params: TCreateParams);
begin
inherited;
if self.FTextOnRight then Params.Style:=Params.Style or ES_CENTER;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
wndHandle:THandle;
begin
wndHandle:=CreateWindowEx(WS_EX_CLIENTEDGE or WS_EX_WINDOWEDGE,PChar('Edit'),PChar('EditCenter'),
WS_BORDER or WS_CHILD or ES_CENTER,0,0,100,50,Handle,0,HInstance,0);
ShowWindow(wndHandle,SW_SHOW);
end;