我在TEdit控件的onkeypress中写按下enter键响应事件,但是按下enter键后怎么没反应呢?
我在另一个窗口写了类似的,却又能响应,不知道为什么,请高手指点
procedure TFrmreturn.EdBookIDKeyPress(Sender: TObject; var Key: Char);
begin
    if Key=#13 then
    with ADOQuery1 do
    begin
    close;
    sql.Clear;
    sql.Add('select * from BorrowBook where BookID='''+EdBookID.Text+'''');
    Open;
    if eof then
    begin
    showmessage('不存在该图书编号');
    exit;
    end;
    EdReaderID.Text:=fieldByName('readerID').AsString;
    if (fieldByName('Returndate').AsDateTime < date)  then
    showmessage('图书已经超期,请缴纳罚款');
//  EdMoney.Text:=datetostr((date-fieldByName('Returndate').AsDateTime)*0.1);
    end;
end;

解决方案 »

  1.   


    if Key=#13 then
    begin //加上,
      with ADOQuery1 do
      begin
        close;
        sql.Clear;
        sql.Add('select * from BorrowBook where BookID='''+EdBookID.Text+'''');
        Open;
        if eof then
        begin
          showmessage('不存在该图书编号');
          exit;
        end;
        EdReaderID.Text:=fieldByName('readerID').AsString;
        if (fieldByName('Returndate').AsDateTime < date)  then
        showmessage('图书已经超期,请缴纳罚款');
    //  EdMoney.Text:=datetostr((date-fieldByName('Returndate').AsDateTime)*0.1);
      end;
    end;//加上
      

  2.   

    我试试看,但我只写
      if Key=#13 then
    showmessage('xxxxxx');
    也没反映呢?
      

  3.   

    加上begin end以后还不行,是不是哪里没设置好呢?
      

  4.   

    我在这个窗体上所有的tedit空间的onkeypress都不能响应
      

  5.   

    很奇怪啊,我把窗体上的一个bitbtn删了就好了,这是为什么啊?
      

  6.   

    因为焦点在bitbtn上,你试下在OnCreate事件加一句Edit1.TabOrder:=0;
      

  7.   

    但是我重新把bitbtn控件放上去,将其Taborder设为0 ,将EditTabOrder设为3,还是能响应的,