VS2008,C++,MFC
我必须处理父窗口中子窗口的消息。实际上,我只想处理ON_BN_CLICKED消息,然后执行其他操作。
据我了解,我必须重新定义WindowProc():
LRESULT CDLauncherDlg::WindowProc(UINT mes, WPARAM wp, LPARAM lp)
{
HWND hWnd = this->m_hWnd;
switch (mes){
case WM_COMMAND:
if((LOWORD(wp)==IDC_BUTTON4)&& (HIWORD(wp) == BN_CLICKED))
{
MessageBox("Button pressed.", "", 0);
}
break;
}
return DefWindowProc(mes, wp, lp);
}
不幸的是,在按下取消按钮后,DefWindowProc()什么也不做,我无法关闭该应用程序。
有什么问题?
最佳答案
最后的答案是更换
return DefWindowProc(mes, wp, lp);
与
return CDialog::WindowProc(mes, wp, lp);