if (application.messagebox('是否退出‘+‘确认‘,‘确认退出‘,
    mb_yesno+mbiconqueststion)<>yes) then
begin
  close;
end;想退出可以写出,但不退出怎么写?

解决方案 »

  1.   

    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      if (application.messagebox('是否退出‘+‘确认‘,‘确认退出‘,
         mb_yesno+mbiconqueststion)<>yes) then
      begin
        Action := caNone;
    end;end;
      

  2.   

    你是想让用户点击关闭或退出后还可以选择不退出?那应该用 OnCloseQuery 事件,而不是 OnClose 事件
    到了 OnClose 事件,已经是“生米煮成熟饭”了procedure TForm1.OnCloseQuery(Sender: TObject; var CanClose: Boolean);
    begin
      CanClose := true; //允许退出
      CanClose := false; //不允许退出
    end
      

  3.   

    sorry,忘了 Form.OnClose 的 var Action: TCloseAction 也可以