请教如何让文本框Edit中的文字右对齐或是居中对齐呢?谢谢

解决方案 »

  1.   

    delphi的edit不支持继承TEdit,重载CreateParams,修改Param即可。 
    procedure TEdit_Ex.CreateParams(var Params: TCreateParams); 
    begin 
      inherited; 
      if self.FTextOnRight then Params.Style:=Params.Style or ES_RIGHT; 
    end;
      

  2.   

    SetWindowLong(Edit1.handle, GWL_STYLE,GetWindowlong(edit1.Handle, GWL_STYLE) +ES_CENTER);
    SetWindowLong(Edit1.handle, GWL_STYLE,GetWindowlong(edit1.Handle, GWL_STYLE) +ES_RIGHT);
      

  3.   

    设置后,刷新一下
    Edit1.Refresh  ;
      

  4.   

    {重载AEdit使其右对齐}
    procedure TAEdit.CreateParams(var Params: TCreateParams);
    begin
      inherited CreateParams(Params);
      Params.Style:=Params.Style or ES_RIGHT;
    end;   //同理可居中