如题,
问题1:界面上有多个TEdit控件,如何用键盘回车来从前一个TabOrder切换到下一个TabOrder控件?
问题2:界面上用了TBitBtn控件,并且控件的Kind设置成为bkOK,发现每次界面回车都触发了它,并且界面退出,如何可以屏蔽界面回车对TBitBtn的触发?谢谢各位!

解决方案 »

  1.   

    procedure TMainForm.FormKeyPress(Sender: TObject; var Key: Char);
    begin
    If Key=#13 Then
      begin
        PostMessage(Handle,WM_KEYDOWN,VK_TAB,0);
        key:=#0;
      end;
    end;
      

  2.   

    上面的方法将form的keypreview属性设为true;并且把你的bitbtn的tabstop属性设为false,1,2同时解决了
      

  3.   

    jinjazz(人雅的标记--落寞刺客)
    按照你的做法,好像不行嗄!是我说的不太清楚吧,我的意思不是不让Tab键对这个BitBtn生效,而是在界面任何一个TEdit中按下回车键,好像都会触发这个BitBtn从而导致界面退出,我的意思就是怎样可以使回车键触发光标只在Tedit中跳转,而不会触发BitBtn导致界面退出!
      

  4.   

    1:将form的keypreview属性设为true
    2:添加上面的代码
    3:BitBtn的tabstop为false-----------------------------------不行??你再试试
      

  5.   

    2:要将TBitBtn的ModalResult设为mrNone
      

  6.   

    按照  netcrawller(放弃绑定-不用第三方控件) 的做法,可以不让TBitBtn不响应回车事件!但是确始终无法使回车键可以让光标在TEdit中跳转,忘了说了,我的TEdit是放在一个GroupBox中的,请问这样会有什么影响么?而且,就算把代码不写在Form的KeyPress事件中,而写在Edit的KeyPress事件中,连断点都无法进入!小弟初学,请教!!!
      

  7.   

    方法就在上面,自己不去仔细看,对你无语..你要实要demo我发个给你,把你的信箱留下。
      

  8.   

    jinjazz(人雅的标记--落寞刺客):
    实在不好意思,我又重新做了一个窗口,像你所说的那样做了,还是不行,唯一和你说的不一样的就是,我的TEdit是放在一个GroupBox中,而且TBitBtn设置了ModualResult设置未mrNone,呵呵,如果可以你就发你的那个Demo给我咯!谢谢!
    [email protected]
      

  9.   

    已发,标题为csdn-demo里面的demo.exe我可以确信不含病毒,不过你最好还是自己打开工程编译一下
      

  10.   

    呵呵,jinjazz(人雅的标记--落寞刺客) ,已经按照你的方法做了,问题也解决了,可能有一点你没有考虑到的是,添加一个TBitBtn的话,如果仅仅设置TabStop为False,你的方法是可行的,但是如果,你修改了Kind属性,比如改成bkOK,就无法实现回车跳转的功能了,就算重新改成初始值也不能起作用,我是删除了我的TBitBtn,重新添加了一次,并不做Kind的设置,才行的!呵呵,还是感谢帮助!欢迎继续探讨!
    先结帖!^_^!