如何用enter代替tab键!!!!

解决方案 »

  1.   

    if key=13 then setfocus 你想到的地方
      

  2.   

    在OnKeyPress事件或OnKeyDown事件里处理一下
      

  3.   

    回车代替tab
    {
    form1.keypress:=true;
    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 else
      if (activecontrol is tdbgrid ) then
      begin
      with tdbgrid(activecontrol) do
      if selectedindex<(fieldcount-1) then
       selectedindex:=selectedindex+1
      else selectedindex:=0;
      end;
    end;
      

  4.   

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

  5.   

    if Key=#13 then  key:=#0;
      

  6.   

    if Key=#13 then  PostMessage(handle,WM_KEYDOWN,VK_TAB,0);
      

  7.   

    procedure TF_yhzl.Edit2KeyPress(Sender: TObject; var Key: Char);
    begin
    if(key=#13)then
      BitBtn1.SetFocus ;
    end;
      

  8.   


      if key=#13 then button1.setfocus;
      

  9.   

    if Key=#13 then  PostMessage(handle,WM_KEYDOWN,VK_TAB,0);
      

  10.   

    首先,在主窗体中声明以下private过程:{------}
    procedure TMainForm.DoEnterAsTab(var Msg: TMsg; var Handled: Boolean);
    begin
    if Msg.Message = WM_KEYDOWN then
    begin
    if Msg.wParam = VK_RETURN then
    Keybd_event(VK_TAB, 0, 0, 0);
    end; //if
    end;
    {------}在主窗体的OnCreate事件中加入:{------}
    Application.OnMessage := DoEnterAsTab;
    {------}程序运行期间不断接收 WM_KEYDOWN信息, 若按下的键是VK_RETURN (#13),我们模拟一个键盘事件, 把VK_TAB作为参数传送。在整个程序中都起作用。
      

  11.   

    Keybd_event(VK_TAB, 0, 0, 0);