procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin if MessageBox(Handle, '确认关闭窗口吗?', '提示', MB_YESNO or MB_ICONQUESTION) <> ID_YES then Action := caNone; end;
综上,应该有三种方法都可以实现让窗口关不掉: 1、在onCloseQuery加入canclose:=Falseprocedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin canclose:=False; end; 2、在onClose加入action:=caNoneprocedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin action:=caNone; end;3、在OnClose加入Abortprocedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin abort; end;
begin
if MessageBox(Handle, '确认关闭窗口吗?', '提示', MB_YESNO or MB_ICONQUESTION) <> ID_YES then
Action := caNone;
end;
事件上处理也可以
楼主明明问A如何如何, 然后就有人回答B可以怎样. 然后楼主结帖了, 凡是参于者, 人均有分.
begin
abort;
end;
在onclose中加了Abort后程序窗口就关不掉了,
你可以在窗体中放一个关闭按钮,
在click事件加入application.Terminate;来中止程序
1、在onCloseQuery加入canclose:=Falseprocedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
canclose:=False;
end;
2、在onClose加入action:=caNoneprocedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=caNone;
end;3、在OnClose加入Abortprocedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
abort;
end;