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;
继承TEdit,重载CreateParams,修改Param即可。 procedure TEdit_Ex.CreateParams(var Params: TCreateParams); begin inherited; if self.FTextOnRight then Params.Style:=Params.Style or ES_CENTER; end;
TEdit里面无法使用Alignment属性的。
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;
procedure TEdit_Ex.CreateParams(var Params: TCreateParams);
begin
inherited;
if self.FTextOnRight then Params.Style:=Params.Style or ES_CENTER;
end;