我在form中要使得"回车键"来控制各个控件得到光标的焦点,但是老是控制不住,有没有什么办法给所有控件获取光标焦点统一编号控制(像在Frontpage里头一样).
   请各位帮忙解决.

解决方案 »

  1.   

    首先,设Form的keypreview为true;
    然后在Form的keypress事件中写
    if key=#13 then
    // 焦点向下移动
    SendMessage(Form.handle, WM_NextDlGCTL, 0, 0);
    或// 焦点向上移动
    SendMessage(Form.handle, WM_NextDlGCTL, 1, 0);
      

  2.   

    procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
    begin
     if (Key = #13) then
     begin
      key := #0;
      Perform(WM_NEXTDLGCTL, 0, 0);
     end;
    end;
      

  3.   

    消息是 WM_NEXTDLGCTL(无需考虑TabOrder顺序)
      

  4.   

    或:
    procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
    begin
     if (Key = #13) then
     begin
      key := #0;
      Edit2.SetFocus;
     end;
    end;
      

  5.   

    综合 fancier(小武)和 cg1120( ) 说的就是。