请教﹐用dbctrlgrid 作为单笔记录的输入画面﹐如何设置按回车键﹐使其输入焦点自动下移到下一个控件…………不同于dbgrid , 我试了senmessage 或perform ,皆不行……..不知有哪位朋友知道的﹐请告知一下 ……….

解决方案 »

  1.   

    high hand ,
    answer please
      

  2.   

    procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
    begin
      if Key = #13 then
        button1.SetFocus;
    end;
      

  3.   

    Return above :
    这样做不行﹐我的dbctrlgrid 的rowcount = 1 ,col = 1 ,我在上面放了几个
    Dbedit 类型的输入窗口﹐开始时焦点在dedit 中tab 顺序最小的一号, 然后
    《enter》后焦点被dbctrlgrid所得﹐再回车﹐焦点只能由几个dbedit中tab 最小
    值 的控件与父控件dbctrlgrid两者之间循环得到﹐但按《tab 》却可以按设定的
    Tab 顺序得到输入焦点…….不知何故。。请高手解决。
      

  4.   

    有用過dbctrlgrid作為輸入畫面的嗎 ﹖應該會遇到該問題吧 。請知道的發發言啊》
      

  5.   

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

  6.   

    Return above :
    这样做仍不行 ﹐
    如果能从 一个控件的对象名或句柄﹐知道其下一个的Tab顺序值, 能否得到其
    该控件的对象名或句柄﹐如果可以 ﹐则可以解决此问题…………..有哪位知道  ﹐如何从一个其控件的下个tab顺序号 ﹐得到其下个控件的句柄…..
      

  7.   

    你看看TWinControl.GetTabOrderList()
    它可以按tab顺序返回控间
      

  8.   

    要想在DBCtrlGrid中接受回车键,只需在OnKeyDown事件中写入如下代码:
      IF KEY=VK-RETURN THEN KEY:=VK-TAB