请问在groupbox控件添加button,按钮单击无响应

请问我在MFC对话框窗口中添加一个groupbox控件,再添加一个BUTTON控件作为groupbox的子窗口(GetDlgItem(IDC_BUTTON1)->SetParent(GetDlgItem(IDC_GROUPBOX)),运行后BUTTON单击无响应。
BUTTON的鼠标单击消息传递给groupbox, 没有传到对话框。
后来用SetWindowLong(.....,GWL_WNDPROC,...)改变消息处理函数,可以响应,但是始终不太正常。
请教各位有什么方法可以把本来传递给groupbox的消息传递到groupbox的父窗口,也就是对话框窗口?

看下你的消息回调函数怎么写的。

子类化Button,自己写Button的消息处理函数。
或者子类化groupbox,把收到的command消息原样发送给dlg。

LRESULT CALLBACK myproc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
if (uMsg == WM_LBUTTONDOWN && hwnd == mythis->GetDlgItem(IDC_GP)->GetDlgItem(IDC_BUTTON1)->m_hWnd)
{
MessageBox(NULL, _T("yes"), _T("kk"), MB_SYSTEMMODAL);
return 0;
}
else
{
return preproc(hwnd, uMsg, wParam, lParam);
}
}

上面这样写了消息处理,BUTTON能够响应,但是,点对话框右上角的叉关闭对话框时,第一次没有反应,点第二下才能关闭,还有鼠标移到对话框窗口边缘按下左键,改变窗口大小后,松开左键,再移动鼠标,依然在改变窗口的大小,要再点一次左键才正常。

派生CButton类,在派生类中添加=BN_CLICKED通知,在响应函数中发送自定义消息到对话框。