我在panel1中放置了dbedit1 dbedit2
在panel2中放置了dbedit3   dbedit4
在form的onkeydown事件
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if Key = vk_down then { 如果按下了下游标键 }
     begin
     key:=0;
     Perform(WM_NEXTDLGCTL, 0, 0); { 移动到下一个控制 }
     end;
end;
为什么执行后,用下游标键只可以从dbedit1至dbedit2,再用下游标键又回到dbedit1,而不回dbedit3呢
在form属性设keypreview=true;
请高手帮我!!!!

解决方案 »

  1.   

    应该把焦点置到panel2上才能有效吧?
      

  2.   

    不行的,用下游标键只可以从dbedit1至dbedit2,再用下游标键又回到dbedit1,而不回dbedit3
      

  3.   

    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
     if Key = vk_down then { 如果按下了下游标键 }
         begin
         key:=0;
         dbEdit3.setFocus();
         end;
    end;
      

  4.   

    老兄,我想让焦点传递呀。对不起写错了,不是panel2是pagecontrol1
    请各位帮忙呀
      

  5.   

    这我知道,不行吗?两个panel焦点就不可以传递吗?
      

  6.   

    不可以,因为是两个容器呀,除非你在edtit2的KeyDown里写代码了
      

  7.   

    为什么tab可以,难道不能模仿tab键吗?