MFC 子窗口的子窗口的子窗口无法弹出messagebox()

图片说明
一个CDialog下有一个子窗口CPropertysheet属性表.
CPropertysheet属性表下有一个子窗口CPropertypage.
CPropertypage有一个子窗口CListCtrl ;

当右键点击CListCtrl控件的时候 CPropertypage能接受到右键通知消息,
然后在消息里面调用messagebox()弹出对话框。
结果就是消息框无法弹出,整个窗口被完全锁定了! 光标成圈圈......
实在不解!!
void CMyPropertyPage2::OnNMClickList1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
MessageBox(_T("AFAF"));
*pResult = 0;
}

找了半天原因 原来是 sheet.Create(this, WS_CHILD | WS_VISIBLE , WS_EX_CONTROLPARENT);
CPropertysheet创建的时候必须添加WS_EX_CONTROLPARENT风格才能响应 鼠标右键和左键的通知消息 才能弹出messagebox