|
윈도우 메세지를 받는 부분을 구현해야 되는데,
WndProc 를 오버라이딩 하는 방법이나, 메시지 맵을 이용하는 방법을 모두 사용해 봤는데, 잘 안되더라고요.
컴파일은 잘 되는데, 실행시에 스텍오버플로라는 에러 메시지가 뜹니다..
일단 헤더에 다음과 같이 디파인해 주었고,
#define WM_CLIENT_MSG WM_USER+8
private: // User declarations
void __fastcall WMSysCommand(TMessage &Message);
protected:
BEGIN_MESSAGE_MAP // 메시지 맵을 선언
MESSAGE_HANDLER(WM_CLIENT_MSG,TMessage,WMSysCommand)
END_MESSAGE_MAP(TFrmMain)
Cpp화일에는
void __fastcall TFrmMain::WMSysCommand(TMessage &Message)
{
if(Message.CmdType == WM_CLIENT_MSG)
if(Message.WParam == 4)
{
if(Message.LParam == 1)
{
Application->MessageBox("사용자 메시지 테스트->접속성공","경고",MB_OK);
}
else
{
Application->MessageBox("사용자 메시지 테스트->접속실패","경고",MB_OK) ;
}
}
else
TFrmMain::Dispatch(&Message);
}
에러가 뜨는 이유를 가르쳐 주세요.
부탁합니다.
|