当点击标题栏右上角的关闭按钮时怎么更好地协调“提示保存”和“实现action  :=  cafree”功能?    
       即当点击关闭时,如果有需要,提示用户保存数据,是或者否(已实现),如果选择否,则实现onclose的action  :=  cafree的功能释放窗口,而不是最小化(未实现,要不就是否也关闭,要不就是最小化,没想到好的方法暂时)  
 
请各位指点迷经

解决方案 »

  1.   

    写onclosequery
    if messagebox(handle,'','',Mb_okcancel)=mrok then
       //do something
      

  2.   

    MDI:
        procedure MDIClose(var Msg: TMessage);message WM_CLOSE;
    procedure TfrmBaseModalMain.MDIClose(var Msg: TMessage);
    var
      i: integer;
    begin
      if ShowMessageC('confirm to exit?'#13'琌璶癶') then
      begin
        IsCloseAll := true;
        for i:= MDIChildCount-1 downto 0 do
        begin
            MDIChildren[i].Close; //close MID child at first
        end;
        inherited; //close MDI main form
      end;
    end; procedure TfrmBaseModalMain.acExitExecute(Sender: TObject);
    begin
      Perform(WM_CLOSE,0,0);
    end;