我想在窗体关闭前弹出对话框,然后如果选取消的话就不关闭窗口.
应该用么时间和点样做

解决方案 »

  1.   

    procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);begin
      if MessageDlg('Close the form?', mtConfirmation,
        [mbOk, mbCancel], 0) = mrCancel then
         CanClose := False;
    end;
      

  2.   

    有多种方法,建议在主窗体的OnCloseQuery事件中书写如下代码:procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    begin
    if Application.MessageBox('你真的想要退出程序吗?','退出确认',MB_YESNO)=IDNO then
      canclose:=false;
    end;
      

  3.   

    也可以在ONClose事件里修改Action的值来实现