在菜单中 我响应了一个消息命令;
代码如下:
void CP12_2View::OnClearall()
{
AfxMessageBox("ViewOnClear");}
void CP12_2Doc::OnClearall()
{
AfxMessageBox("DocOnClear");
}
因为 消息 的流动 先 是流到 View的,所以当我点了这个菜单后 就显示 ViewOnClear;而 AfxMessageBox("DocOnClear");不会 触发,现在的问题是我如何让 AfxMessageBox("DocOnClear");也能触发,也就是说 当我点了 这个菜单后 先显示 AfxMessageBox("ViewOnClear"); 再显示 AfxMessageBox("DocOnClear");而不是单纯的显示 AfxMessageBox("ViewOnClear");
谢谢!
代码如下:
void CP12_2View::OnClearall()
{
AfxMessageBox("ViewOnClear");}
void CP12_2Doc::OnClearall()
{
AfxMessageBox("DocOnClear");
}
因为 消息 的流动 先 是流到 View的,所以当我点了这个菜单后 就显示 ViewOnClear;而 AfxMessageBox("DocOnClear");不会 触发,现在的问题是我如何让 AfxMessageBox("DocOnClear");也能触发,也就是说 当我点了 这个菜单后 先显示 AfxMessageBox("ViewOnClear"); 再显示 AfxMessageBox("DocOnClear");而不是单纯的显示 AfxMessageBox("ViewOnClear");
谢谢!
void CP12_2View::OnClearall()
{
AfxMessageBox("ViewOnClear");
CP12_2Doc *pDoc = (CP12_2Doc*)GetDocument();
pDoc->OnClearall();}
因为在MFC里,COMMAND消息是曲线ROUTING。
BOOL CTESTDBMSGView::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo)
{ BOOL bRtn = CView::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
if (m_pDocument != NULL && IDM_TEST == nID)
{
m_pDocument->OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
}
return bRtn;