我点了系统的‘X’
然后调试进入了,FormClose消息里面procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction)
begin   // 本想在这里使用MessageBox, 加个YES/NO的来处理是否真正关闭操作
   // 可是怎么操作都无法避免窗体被关闭的命运   // 我想谁能解决下,如何在进入CLOSE消息里面还能实现不退出的功能end;

解决方案 »

  1.   

    到OnQueryClose事件里加CanClose := False;
      

  2.   

    你在oncolsequery事件中写
    设置CanClose这个属性
      

  3.   

    procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    var
      i: Integer;
    begin
      i := 0;
      i := MessageBox(handle, pchar('你确定要退出程序吗?'), pchar('系统提示'), MB_OKCANCEL + MB_ICONQUESTION);
      if i = 1 then
        CanClose := true
      else
        CanClose := false;
    end;
      

  4.   

    应该在CloseQuery里面去处理,比如询问用户是否退出。
    释放内存的代码可以放到Form.Destory里处理