焦点定位是在keypress中,
if key=#13 then
   edit1.setfocus;
但当我运行enter键时,没有任何反应,请教高手!!

解决方案 »

  1.   

    你不会在Edit1的OnKeyPress里面写的吧?
      

  2.   

    笨蛋,窗口的 KeyPreview要设置为TRUE嘛!!
      

  3.   

    哦thank you very much!i will try it!
      

  4.   

    当然不是在EDIT1的KEYPRESS 上写了
      

  5.   

    高手
    我设置过了
    窗口的keypreview设置成TRUE了
    可是,没有用,怎么回事?
      

  6.   

    你的焦点是不是落在Button上面了?
      

  7.   

    我是在edit2的onkeypress事件中用的
    通过回车想把焦点移到edit1上
      

  8.   

    那这样写不会有错的procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
    begin
      if key=#13 then
        Edit1.SetFocus;
    end;
      

  9.   

    你设置一个断点看看有没有运行Edit1.SetFocus;
      

  10.   

    procedure TForm1.edit1KeyDown(Sender: TObject; var Key: Word;  Shift: TShiftState);
    //事件描述: 设置方便按钮,符合输入习惯
    //如果按下回车键,则转入edit2输入框
    begin
      if Key = $0D then
        if Edit2.CanFocus then Edit2.SetFocus;
    end;
    我就是这样做的...没问题的
      

  11.   

    这样好的
    谢谢
    但是我就是对key=#13出现这样的还不太理解
    请问谁能解释一下
    谢谢
      

  12.   

    哦,这样啊!
    那有这样一个情况:
    为什么有的key=#13可以实现,有的时候不可以实现,这是我刚刚出现的问题,请指教
    是不是有什么运行语句阻碍了它的实现
      

  13.   

    #13:Enter键
    #27:Esc键
    #32:空格键#10 换行
    #48 0
    #127 DEL
      

  14.   

    #13=#$d,是字符, $0d=13,是个数字,。再keydown事件中,传递的是interger, keypress事件中传递的是字符。
      

  15.   

    我是用#13不行就换$0D..总有一个是对的...哈哈
    ------------
    呵呵,这样也行啊,你看看过程里面是怎么定义的,如果是var Key: Char就需要#13,如果是var Key: Word就需要13或者说你提到的$0D
      

  16.   

    那我在KEYPRESS事件中为什么不能实现这个效果呢?
    是不是被什么限制了?
    #8代表什么?
      

  17.   

    我自已有过这样的经验,有一次不知出什么问题了,后来只好重新删除窗体重做
    还有bitbtn如果设了kind属性也会出现意外
      

  18.   


    是因为BITBTN键啊
    我的也用到BITBTN 键的