我要判断用户是否按了回车如果按了 回车就相应一个事件,我写的如下代码但是出现编译的错误
if (key = #13) then  //这一行出现错误
   begin
   btn_CX.OnClick;//.Click.btn_CXClick
   end;

解决方案 »

  1.   

    你用onkeypress中的key就行了,
    大概你现在用的是onkeydown中的key了
      

  2.   

    但是我这样用就没有错啊,就是我把回车换成F8就可以啊,就是说表示回车的写法应该有问题吧
    if (key = VK_F8) then  //这一行出现错误
       begin
       btn_CX.OnClick;//.Click.btn_CXClick
       end;
      

  3.   

    我现在写在KeyPress事件中是没有问题,编辑筐中写别的字母数字都能正常执行就是按下回车后就不执行该时间,而是根据taporder顺序跑到别的控件上去了
      

  4.   

    你注意看看VK_F8的定义,然后再和#13比较一下,没有发现问题么?
      

  5.   

    改为VK_RETURN就可以了,回车键的键值
      

  6.   

    编译是通过了,但是按下回车键后照样只是taborder跑到下一个控件去了,我想通过按下回车执行的事件还是没有执行
    就是下面这段代码,如果我按下别的键,要执行就是按回车的时候不会执行!不知道为什么?
    if (Key = VK_F8)  then
       begin
        edt_YBH.text := '';
      edt_KH.text := '';
      edt_sfzh.text := '';
       end;
      if (key = VK_RETURN) then
       begin
       btn_CX.OnClick(NIl);//.Click.btn_CXClick
       end;
      

  7.   

    我想是不是回车有什么问题啊?即使key = VK_RETURN这里写错了的话,不管我按什么键,所先这一段代码总的执行啊,只是btn_CX.OnClick(NIl)这个按钮时间不执行而已啊,但是现在只要我按回车onkeypress这个事件都不执行?
      

  8.   

    现在程序就是回车就在执行taborder的功能,怎么才能是回车就执行响应的事件啊?
      

  9.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if key=#13 then
      begin
        showmessage('你敲击了回车!');
      end;
    end;这样