急啊在线等(怎么把子EDIT控件文字靠右对齐)?

解决方案 »

  1.   


    继承TEdit,重载CreateParams,修改Param即可。procedure TEdit_Ex.CreateParams(var Params: TCreateParams);begininherited;if self.FTextOnRight then Params.Style:=Params.Style or ES_RIGHT;end; 
     
      

  2.   

    1. 
    SetWindowLong(Edit1.Handle, GWL_STYLE,  GetWindowLong(Edit1.Handle, GWL_STYLE) or ES_MULTILINE or ES_RIGHT);
    2. 
    写Edit1的OnKeyDown事件:
    procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    begin
      if Key = VK_RETURN then
        Key := 0;
    end; 
    //需要截取Return键, 防止return键作为输入进入edit的文本中.
      

  3.   

    procedure TEdit_Ex.CreateParams(var Params: TCreateParams);
    begin
    inherited;
    if self.FTextOnRight then Params.Style:=Params.Style or ES_RIGHT;
    end;
      

  4.   

    dickeybird888(于伟刚) 你的方法好像不能用?
      

  5.   

    直接用第三方控件吧,比较好的如DevExpress或者Rx等都有提供这样的咚咚的
      

  6.   

    可用format函数来做,或继承TEdit,
    http://expert.csdn.net/Expert/topic/1412/1412805.xml