보통 주어지는 폼을 바탕으로 프로그램을 할때
폼의 OnCreate 이벤트에서 프로그램 실행 조건의 불만족(실행횟수 제한, 타임락 등의 이유)
경우 바로 종료할려면 어떻게 하는게 좋을까요?
보통
void __fastcall TForm1::FormCreate(TObject *Sender)
{
if (종료조건)
{
PostQuitMessage(0);
return;
}
}
와 같은 방법을 쓰기도 하는데 이 방법의 단점은
메인 폼이 일단 보였다가 사라지는데 있습니다.
아예 메인 폼 조차 보이지 않고 바로 종료하거나 종료를 위한 간단한 메시지 창 정도
보여주고 종료하려면 다음과 같이 하면 됩니다.
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Application->ShowMainForm = false;
if (종료조건)
{
MessageBox(0, "종료합니다.", "메시지", MB_ICONWARNING|MB_OK);
Application->Terminate();
return;
}
Application->ShowMainForm = true;
}
//---------------------------------------------------------------------------
간단한 것인데
혹시 모르는 분을 위해 올립니다.
|