如何使点击关闭窗口的叉时,弹出对话框,并阻止关闭窗口.(50分)

  • 主题发起人 主题发起人 pan369
  • 开始时间 开始时间
P

pan369

Unregistered / Unconfirmed
GUEST, unregistred user!
如何使点击关闭窗口的叉时,弹出对话框,并阻止关闭窗口.
 
如果是实现你的功能,Form的OnClose或者OnCloseQuery就可以了。
你简单的截获了关闭的叉,如果我按了Alt+F4怎么办?
当然,截获叉的难度很大,需要自己拦截消息。
 
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
你的对话框的内容
end;
 
最好不要写OnClose,因为在某些关闭窗口的方式下不执行这个事件
 
建议不用说的很深奥,一般的解决方法就行了。:)
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if MessageDlg('确认关闭窗口吗?',mtConfirmation,[mbyes,mbno],0)<>mryes then
abort;
end;
 
这样:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
; //如果用户在提问框中没有按“是”按钮就不能退出!
; if MessageDlg('真的要退出吗?',mtConfirmation,[mbyes,mbno],0)<>mryes then
; ; CanClose :=false;
end;
 
多人接受答案了。
 
后退
顶部