|
윈도우 종료 메시지인
WM_ENDSESSION 또는 WM_QUERYENDSESSION 에서
Close() 호출로 프로그램을 종료하고 난 후에
윈도우가 종료되지 않고 종료가 취소되어 버립니다.
물론 프로그램은 정상적으로 종료되었구요.
왜 이런 현상이 생기는 것 일까요?
메시지 처리는 메인 폼의 WndProc를 오버라이딩해서
처리했습니다~
void __fastcall TMainControl::WndProc(Messages::TMessage &WndMessage)
{
if( WndMessage.Msg == WM_ENDSESSION )
{
Close();
return;
}
TForm::WndProc( WndMessage );
}
윈도우 종료가 취소되고 프로그램이 종료된 상태에서
다시 윈도우 종료를 누르면 정상 종료 됩니다.
-_-
메시지 처리 부분 문제는 아닌거 같은데
혹시 이런 문제의 원인을 알고 계신지요?
|