请教这样一个问题:1、进入一个窗体后光标自动定位到第一个edit1,
                 2、输入完第一个edit1内容后,回车后自动进入下一个edit依次类推
不知如何实现?

解决方案 »

  1.   

    有一个属性activecontrol..好像是....回车换一个....搜索一下.....
      

  2.   

    1、进入一个窗体后光标自动定位到第一个edit1,
    设置 edit1 的 TabOrder 的属性为 02、输入完第一个edit1内容后,回车后自动进入下一个edit依次类推
    procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
       if Key = 13 then
         Perform(WM_NEXTDLGCTL, 0, 0);
    end;
      

  3.   

    以后的 edit2 edit3 等等,可以将 OnKeyDown 与 edit1 的 OnKeyDown 进行关联。
      

  4.   

    1.用FORM的ACTIVECONTROL属性,指定SHOW后哪个控件获得焦点,或在ONSHOW事件中自由指定.
    2.设置FROM的KEYPREVIEW为TRUE,在KEYPRESS事件中判断是否按下的是回车,如果是则
     if Key = 13 then
     begin
         Perform(WM_NEXTDLGCTL, 0, 0);
         Key := 0 ;
     end;
      

  5.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Edit2: TEdit;
        Edit3: TEdit;
        Edit4: TEdit;
        procedure FormShow(Sender: TObject);
        procedure FormKeyDown(Sender: TObject; var Key: Word;
          Shift: TShiftState);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormShow(Sender: TObject);
    begin
      Edit1.SetFocus;
      Form1.KeyPreview := True;
    end;procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if (Ord(Key) = 13) then
        selectNext(Activecontrol,true,true);
    end;end.
      

  6.   

    procedure TForm1.Edit1KeyPress(Sender: TObject);
    begin
    if key=#13 then
       edit2.setfous;
    end; 
    以此類推.或
    procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
    Shift: TShiftState);
    begin
    if key=vk_return then Keybd_event(VK_TAB, 0, 0, 0);
    end; 
    兩種都可以
      

  7.   

    procedure TForm1.FormShow(Sender: TObject);
    begin
      Edit1.SetFocus;
    end;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if Key = #13 then
      begin
        Key := #0;
        SelectNext(ActiveControl,True,True);
      end;
    end;
      

  8.   

    来晚了,还是用longtusoft(神灯之主) 的方法好:
    1.用FORM的ACTIVECONTROL属性,指定SHOW后哪个控件获得焦点,或在ONSHOW事件中自由指定.
    2.设置FROM的KEYPREVIEW为TRUE,在KEYPRESS事件中判断是否按下的是回车,如果是则
     if Key = 13 then
     begin
         Perform(WM_NEXTDLGCTL, 0, 0);
         Key := 0 ;
     end;
      

  9.   

    我晕.ANSWER 全是 COPY.
      

  10.   

    不是吧也太楼主可以写一个基类函数进行处理 KeyDown事件 即控制按键走向 不是很难
    上面给了一些例子了 可以去试试