我用pagecontrol做了许多tabsheet,之前的控件还可以用这个代码procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=13 then Perform(WM_NEXTDLGCTL,0,0);
end;自动跳格的,但后面就不行了怎么回事?

解决方案 »

  1.   

    for i := 0 to DBGrid1.Columns.Count -1 do
    begin
      if i= DBGrid1.Columns.Count -1 then
        if (key=VK_right) and (DBGrid1.EditorMode) then
          PostMessage(DBGrid1.Handle, WM_KEYDOWN, VK_TAB, 0); 
    end;
      

  2.   

    什么之前?什么之后?不太懂...窗体的keypreview属性设置为true了吗?
      

  3.   

    我设了,我是说我做了许多个tabsheet,前面的tabsheet行跳格,后面做的就不行了。
    不知怎么回事。
      

  4.   

    procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
    begin
        if Key = #13 then
            if not (ActiveControl is TDBGrid) then
            begin
                Key := #0;
                Perform(WM_NEXTDLGCTL,0,0);
            end;
    end;
    用上面的事件试试看。
      

  5.   

    我今天把一个TBitBtn这个按钮删了,就可以用回车跳格了,真奇怪,我搞不懂了
      

  6.   

    我已经调好顺序了,应该不关TABORDER的事
      

  7.   

    选中全部要跳格的控件,Ctrl+X,再Ctrl+V,粘贴前要先选中控件放置的容器……