第一:edit1的值一直在左边录入或显示,怎么才能让他在右边开始
第二:edit2如何让它显示数字带有小数点 例:  A: 200 显示为 200.00  B: 200.1 显示 200.10  
最好有代码测试好的样例

解决方案 »

  1.   

    问题一:直接用一个RzEdit就行了问题二:
    procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
    begin
      if not (Key in ['0'..'9', '.', #8]) then Key := #0;
    end;procedure TForm1.Edit2Exit(Sender: TObject);
    begin
      with TEdit(Sender) do
        Text := Format('%.2f', [StrtoFloat(Text)]);
    end;
      

  2.   

    对问题一的补充:设置RzEdit1的AlignMent属性为taRightJustify
      

  3.   

    TMyEdit = class(TEdit)
    protected
      procedure CreateParams(var Params: TCreateParams); override;
    end;
    procedure TMyEdit.CreateParams(var Params: TCreateParams);
    begin
      inherited;
      Params.Style := Params.Style or ES_RIGHT;
    end;
      

  4.   

    关于问题一,支持楼上。可以改为以下写法:type
      TEdit = class(StdCtrls.TEdit)
      protected
        procedure CreateParams(var Params: TCreateParams); override;
      end;
    procedure TEdit.CreateParams(var Params: TCreateParams);
    begin
      inherited;
      Params.Style := Params.Style or ES_RIGHT;
    end;
      

  5.   

    升级到delphi2009吧,有对齐属性
      

  6.   


    请问with TEdit(Sender) do
    是起什么作用呢,我试了下好像跟 with edit2 do 或者不写的作用是一样的,这样写好像也不能全部的EDIT框通用,请问是什么作用呢
      

  7.   

    procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char); 
    begin 
      if not (Key in ['0'..'9', '.', #8]) then Key := #0; 
    end; //这个也不能保证输入的就一定是合法的数字,比如‘1.1.2’
    //最好还是在onexit事件中判断一次
    请问with TEdit(Sender) do 
    是起什么作用呢,我试了下好像跟 with edit2 do 或者不写的作用是一样的,这样写好像也不能全部的EDIT框通用,请问是什么作用呢//当你有多个edit需要用到该事件时,这个就有用了
      

  8.   


    有多个edit需要使用这个事件时,怎么用呢,谢谢
      

  9.   

    把多个edit的onexit事件都指向这里