delphi 编程问题

来源:百度知道 编辑:UC知道 时间:2024/05/06 07:10:46
我想在窗口打开的状态下,按 esc 键 则 关闭窗口。但是 窗口不响应键盘输入。程序如下,请高手过目指点!谢谢
procedure TMain.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
VK_ESCAPE:MAIN.Close;

VK_SPACE :
begin
//输入空格 执行其他内容
end;
end
我也把 FormKeyDown 放到了 窗口的 onkeydown 事件中了!!!

如果窗体裏没有其他控件:
procedure TForm2.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key = #27 then
application.Terminate;
end;
如果窗体有其他的可视化控件导致代码无效的话,就要把程序的焦点转到窗体上。或者在获得焦点的控件的onkeypress事件裏写上面的代码。

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (Key=#27) then
close;
end;

end.