delphi 如何用tab键在各dbedit有顺序切换输入焦点,当焦点在最后一个dbedit时按tab又回到第一个?
用enter键相当于按下一个确定button控件

解决方案 »

  1.   

    把底下這一段放在FormKeyDown裏  if (Key = VK_RETURN) or (Key = VK_DOWN) then
      begin
          Perform(WM_NEXTDLGCTL, 0, 0);
          Key := 0;
      end
      else
      begin
          if (Key = VK_Up) then
          begin
              Perform(WM_NEXTDLGCTL, 0, -1);
              Key := 0;
          end;                     
      end;
      

  2.   

    1.将所有dbedit的TabOrder重新按顺序设一次就可以用TAB来跳到下一个了。
    如:dbedit1.TabOrder:=0;
       dbedit2.TabOrder:=1;
       dbedit3.TabOrder:=2;
       dbedit4.TabOrder:=3;
       按钮.TabOrder:=4;
       
    2.  设  按钮.Kind:=bkOK;   然后在按钮中写你要的事件就可以了。不管你的输入焦点在哪里,只要一按回车就会执行按扭事件的。
    看样子你比我还新手。