我想在初始化的时候,Edit中前部的字符是固定,从数据库中取出,然后把光标定位在后面,不知道怎么实现,高手帮忙,谢谢!!!

解决方案 »

  1.   

    Edit1.SetFocus;
      Edit1.SelStart := length(Edit1.Text);
      

  2.   

    不懂啊,比方我初始化时,edit1.text:='冀D-',然后把光标定位在‘-’的后边
      

  3.   

    还有一点问题,怎样将edit的输入的字符数限制在9个以内呢?
      

  4.   

    unit LabeledEditint;interfaceuses
      Windows, Messages, SysUtils, Classes, Controls, StdCtrls, ExtCtrls;type
      TLabeledEditint = class(TLabeledEdit)
      private
        { Private declarations }
      protected
        { Protected declarations }
      public
        { Public declarations }
        procedure CreateParams(var Params: TCreateParams); override;
        procedure WMChar(var Message: TWMChar); message WM_CHAR;
      published
        { Published declarations }
      end;procedure Register;implementationprocedure Register;
    begin
      RegisterComponents('Samples', [TLabeledEditint]);
    end;
    procedure TLabeledEditint.CreateParams(var Params: TCreateParams);
    begin
      inherited;
      Params.Style:=Params.Style or ES_RIGHT;
    end;
    procedure TLabeledEditint.WMChar(var Message: TWMChar);begin
      if (Chr(Message.CharCode)in [#48..#57,#46,#13,#8,#190,#37])  then
        inherited;
    end;
    end.
      

  5.   

    Edit1.SetFocus;
      Edit1.SelStart := length(Edit1.Text);maxlength设置为9。默认的0是无限制的
      

  6.   

    在edit控见的keypress事件里判断length,如果超过9个就beep报警。
      

  7.   

    在你的窗体显示事件里写OnShow
    Edit1.SetFocus;
    Edit1.SelStart:=length(Edit1.Text);
    自动定位到后面
      

  8.   

    wenjianyao(建),maxlength在输入的时候控制不了呀,超过了还能输入的xixuemao(吸血猫),能不能具体给我写写那个keypress事件?谢谢
      

  9.   

    maxlength不可以控制嘛?不懂
      

  10.   

    用maxlength
    不要用keypress,除非你把粘贴键也都屏蔽掉!
      

  11.   

    用maxlength
    不要用keypress,除非你把粘贴键也都屏蔽掉!有道理有道理,学习