Q&A

  • 프로그램 종료를 취소할 수 있도록 하려면
프로그램을 제작하여 실행도중에



창 오른쪽 위에 있는 X를 클릭하면 종료가 돼잖아요!



근데 그걸 한단계 거칠려고 하거든요?



onclose 이벤트에 다음과 같이 소스를 삽입했습니다.



if MessageDlg('프로그램을 종료 하겠습니까?',

mtinformation, [mbYes, mbno], 0) = mrYes then

begin

search_frm.close;

end

else

begin

search_frm.show;

end;



아니요를 클릭해도 종료가 돼는데 막는 방법 없을까요?



3  COMMENTS
  • Profile
    까마귀 2001.03.20 11:29
    초보델파이... wrote:

    > 프로그램을 제작하여 실행도중에

    >

    > 창 오른쪽 위에 있는 X를 클릭하면 종료가 돼잖아요!

    >

    > 근데 그걸 한단계 거칠려고 하거든요?

    >

    > onclose 이벤트에 다음과 같이 소스를 삽입했습니다.

    >

    > if MessageDlg('프로그램을 종료 하겠습니까?',

    > mtinformation, [mbYes, mbno], 0) = mrYes then

    > begin

    > search_frm.close;

    > end

    > else

    > begin

    > search_frm.show;

    > end;

    >

    > 아니요를 클릭해도 종료가 돼는데 막는 방법 없을까요?

    >

    안녕하세요. 까마귀입니다.



    밑에 처럼 하셔도 되고요.

    OnClose 이벤트에서 처리하시려면요.



    else begin

    Action := caNone;

    search_frm_.Show;

    end;



    위처럼 하시면 됩니다.

    델파이 도움말에서 Action의 역할을 찾아보세요.







    위대한 단군혼이 살아있는 나라.... 대한민국.

  • Profile
    컴맹.. 2001.03.20 11:29
    안녕하세여.. 컴맹입니다...



    일단 폼의 CloseQuery 이벤트에 다음과 같이 하시면

    종료가 되지 않습니다..



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

    begin

    if MessageDlg('프로그램을 종료 하겠습니까?',

    mtinformation, [mbYes, mbno], 0) = mrYes then

    CanClose := True

    else

    CanClose := False;

    end;



    여기서 Yes 인경우는 종료 no인경우에는 프로 그램이 종료가 되지 않습니다..



    그럼 이만...



    초보델파이... wrote:

    > 프로그램을 제작하여 실행도중에

    >

    > 창 오른쪽 위에 있는 X를 클릭하면 종료가 돼잖아요!

    >

    > 근데 그걸 한단계 거칠려고 하거든요?

    >

    > onclose 이벤트에 다음과 같이 소스를 삽입했습니다.

    >

    > if MessageDlg('프로그램을 종료 하겠습니까?',

    > mtinformation, [mbYes, mbno], 0) = mrYes then

    > begin

    > search_frm.close;

    > end

    > else

    > begin

    > search_frm.show;

    > end;

    >

    > 아니요를 클릭해도 종료가 돼는데 막는 방법 없을까요?

    >

  • Profile
    김동환 2001.03.20 11:30
    CloseQuery에 대한 보충 설명입니다.



    종료 이밴트에 속하는 CloseQuery는 Windows상의 모든 종료를 막아 줍니다.



    활성창의 X표시, ALT+F4까지 막아 줍니다.



    활용을 잘 하시면 좋은 Event가 됩니다.



    즐프 하세요.....