具体问题如下所示:
    现有 10 个编辑框,要求在第一个编辑框按回车键时焦点自动的设置到第二个编辑框,依次类推,我不想在每个编辑框中 SetFocus,  请问有没有比较好的办法?

解决方案 »

  1.   

    每个编辑框的OnKeyPress事件都调用函数CommPress如下:
    procedure TFrmProducInfo.CommPress(Sender: TObject; var Key: Char);
    begin
        case Key of
           #13: SendMessage(Handle,WM_NEXTDLGCTL,0,0);  //回车变换焦点
         end;
    end;
      

  2.   

    to  hotxu(hotxu) :能不能写一个通用的过程?
      

  3.   

    1 你可以将form的keypreview:=true,然后在form的keypress里处理,这样,form中所有的控件都有了这样的功能
    2 你可以写一个编辑框的keypress过程,然后所有的编辑框的都指向这个过程
    3 自己从tedit继承一个改写了keypress的控件然后使用
      

  4.   

    将该窗体的KeyPreview设成True.
    然后将上面的代码写在Form的OnKeyPress事件中
      

  5.   

    第一种方案其实也是通用的过程,每个事件都是属性,你可以像添属性一样,把所有的TEdit对象的OnKeyPress事件都指向同一个
      

  6.   

    if key=#13 then
             key:=#0;
             Perform(WM_NEXTDLGCTL, 0, 0);
      

  7.   


    我试过Means_pan(酷鱼-第一只蜥蜴) 的方法,如果都是edit就可以但是有button是只能到第一个button