按esc键,form1关闭,这句代码怎么写?(10分)

  • 主题发起人 主题发起人 wanglong2
  • 开始时间 开始时间
W

wanglong2

Unregistered / Unconfirmed
GUEST, unregistred user!
按esc键,form1关闭,这句代码怎么写?
 
procedure TForm1.FormKeyDown(Sender: TObject
var Key: Word;
Shift: TShiftState);
begin
if Key=VK_ESCAPE then
Close;
end;
 
如果此时焦点在一个edit框里呢?
 
设置Form的 KeyPreview=True
 
又学了一招,谢谢!
 
放一个BUTTON可见,
cancel:=true
onclick
close
 
procedure TForm1.FormKeyDown(Sender: TObject
var Key: Word;
Shift: TShiftState);
begin
if Key=#27 then
Close;
end;
 
截取应用程序的按钮事件。
 
FormKeyUp
if Key=#27 then
Close;
 
這個問題也那麼多人討論
如果按dhl2001的那種寫法
模式對話框不用任何代碼就可以用Esc關閉Form
 
那是因为模式对话框是己经封装了代码了啊!
 
還是前兩位富翁說的有理
 
to wanglong2
> 如果此时焦点在一个edit框里呢?

应该这样写:
procedure TForm1.Edit1KeyDown(Sender: TObject
var Key: Word;
Shift: TShiftState);
begin
if Key=VK_ESCAPE then
Close;
end;

:) 用卷老大的现成的!!
 
设置Form的 KeyPreview=True

procedure TForm1.FormKeyDown(Sender: TObject
var Key: Word;
Shift: TShiftState);
begin
if Key=VK_ESCAPE then
Close;
end;
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
681
SUNSTONE的Delphi笔记
S
S
回复
0
查看
768
SUNSTONE的Delphi笔记
S
后退
顶部