Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

메모장

프로그램 종료 시 확인 받고 종료하기. 본문

Delphi

프로그램 종료 시 확인 받고 종료하기.

우유한잔하죠 2016. 2. 19. 15:41

일반적으로 아무런 코딩을 하지 않고 종료 버튼을 누르면 바로 FormClose 이벤트로 넘어가게 된다. 폼을 종료하기 전에 '종료하시겠습니까?'라는 문구를 띄우고 확인받고 종료하고 싶으면 onCloseQuery 이벤트를 이용하면 된다.

이벤트 이름에 나타나 있는 것처럼 종료전에 물어본다는 뜻이다.

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);


이 함수의 인자를 확인해보면 close 이벤트와는 다르게 CanClose라는 Boolean형 인자가 들어있는데 이 변수에 어떤 값을 넣느냐에 따라 결과가 달라지게 된다.

True를 넣게 되면 그대로 close로 넘어가 종료하게 되는 것이고 False를 넣게 되면 아무런 행동도 일어나지 않는다.(계속 프로그램이 실행되게 된다.)

이것만 이해했으면 코드를 짜는건 쉽다. 간단하게 MessageDlg 함수를 이용해서 종료 확인을 받을 수 있다.


ex)

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin     if MessageDlg('종료하시겠습니까?', mtConfirmation, [mbOK, mbCancel], 0) = mrCancel then begin         CanClose := false;     end; end;


Comments