我的程序窗体上有很多控件我在窗体的keyDown上写入了 按ESC 程序退出代码而别人点了窗体上的控件 焦点不在窗体上了 按下ESC键 就不好使了 这种怎么办呢? 不会所有的控件的KeyDown属性里都要加入吧?

解决方案 »

  1.   

    我试了一下,可以啊,没发现你说的情况。我在窗体上放了几个Edit、几个Memo、几个Button测试的
    procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
    begin
      if Key = #27 then Application.Terminate;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      Self.KeyPreview := True;
    end;
      

  2.   

    谢谢你了    好使了    KeyPreview是干什么的?
      

  3.   

    是TForm的一个属性。当它设置为True时,当有按键消息在发往TForm上的控件时,首先由TForm截获处理我的描述可能不准确。但就是这个意思了
      

  4.   

    是TForm的一个属性。当它设置为True时,当有按键消息在发往TForm上的控件时,首先由TForm截获处理我的描述可能不准确。但就是这个意思了