안녕하세요.
폼을 닫을 때(폼 상단의 x버튼 클릭)
지금까지 작업물 저장을 할 것인지 물어보고 싶습니다.
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if MessageBox(Handle,'종료하십니까?','종료',MB_OKCANCEL)=IDOK then Close;
end;
여기서 ok버튼을 클릭하면 프로그램이 종료되고, cancle버튼을 클릭하면 프로그램이 종료되지 않게 하고 싶습니다.
답변 부탁드려요.
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;