Q&A

  • 폼 닫는 FormClose가 실행될때...
안녕하세요.

폼을 닫을 때(폼 상단의 x버튼 클릭)

지금까지 작업물 저장을 할 것인지 물어보고 싶습니다.

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if MessageBox(Handle,'종료하십니까?','종료',MB_OKCANCEL)=IDOK then Close;
end;

여기서 ok버튼을 클릭하면 프로그램이 종료되고, cancle버튼을 클릭하면 프로그램이 종료되지 않게 하고 싶습니다.

답변 부탁드려요.
2  COMMENTS
  • Profile
    sky 2003.08.19 02:30
    이런 방법도 있습니다.
    Form의 OnCloseQuery 이벤트를 이용하는 방법...
    이 이벤트는 간단하게 설명하면 특정 조건의 결과에 따라 폼을 Close 할지 안할지를 결정합니다.

    procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    begin
        if MessageDlg('종료하시겠습니까?',mtConfirmation,[mbYes, mbNo],0) = mrYes then
            CanClose := true        // 폼 Close
        else
            CanClose := false;     // 폼 Close 안됨
    end;



  • Profile
    장태원 2003.08.18 21:09
    if MessageBox(Handle,'종료하십니까?','종료',MB_OKCANCEL)=IDOK then caFree
    Else canone;