其实两种退出方式都是一样的。点退出按钮用 Close 来关闭窗口,与直接点击右上方那个红差,都会触发窗口的 OnCloseQuery 事件,这个事件有个 CanClose 参数,当它为False时,窗口就不能被关闭。
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
If Application.MessageBox('确定要关闭该窗口吗?','确认退出',36)=IDYes then CanClose:=True else CanClose:=False;
end;
1.你可以捕获退出消息,然後自己写代码
2. 就像楼上说的那段代码也是可以实现这个功能的,因为在执行onclose方法前会执行onqueryclose方法
可以按上一个的回答做,如果你想点“退出”就直接关闭程序的话,就不用close了,直接application.Terminate就行了;另外如果是想关闭当前窗体,又不想它弹出对话框,你可以设置一个全局变量标记一下,到底是点了“退出”还是点了“X”......
一楼正解