菜单命令消息首先传递给主框架类 (默认情况下它不处理,会直接传给视类处理),所以一般情况下视类是最先处理菜单命令消息
要想主框架类响应菜单命令消息,你必须在主框架类中响应command,具体做法和视类相似
void CMainFrame::OnTest()
{
// TODO: Add your command handler code here
MessageBox("ON Menu In MainFrame");
}
要想主框架类响应菜单命令消息,你必须在主框架类中响应command,具体做法和视类相似
void CMainFrame::OnTest()
{
// TODO: Add your command handler code here
MessageBox("ON Menu In MainFrame");
}
解决方案 »
- VC的增量编译
- 屏保时间设置。。。
- CwinApp和CFrameWnd
- 利用InstallShield for Microsoft Visual C++ 6.0进行打包时出现了如下问题是怎么回事呀
- 大BMP的绘制和存储方法是什么?
- 关闭对话框不成功
- 如何获得SATA硬盘序列号
- 小弟正在学VC,有谁愿热心帮助,请留下e-mail
- #if _MSC_VER > 1000 #pragma once #endif 这三行代码谁解释一下?
- (请教,请大神指点,多谢多谢)函数调用派生类指针在传递给基类指针过程中虚函数为空
- 用CArray時的存取违规問題
- 执行到pRst->PutCollect("ph_ok",var)会报错的?
void CMainFrame::OnTest()
{
// TODO: Add your command handler code here
MessageBox("ON Menu In MainFrame");
}
那么需不需要在中间加上这条语句呢?
CChildView::OnTest()
如果不加上那么视图类还能收到消息么?换句话说就是消息是同时发给各个类的还是先发给一个比较高级的类然后一级一级向下发啊?因为以前没编过windows程序,对消息循环不甚了解,望达人指点。
void CMainFrame::OnTest()
{
// TODO: Add your command handler code here
MessageBox("ON Menu In MainFrame");
}
但是没有反应
BOOL CMainFrame::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo)
{
// let the view have first crack at the command
if (m_wndView.OnCmdMsg(nID, nCode, pExtra, pHandlerInfo))
return TRUE; // otherwise, do default handling
return CFrameWnd::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
}这个函数在CView和CFrameWnd里的功能是什么呢?刚才找了找,只能发现他在的定义,找不到实现阿。如果我想找某个函数的实现应该怎么找呢?
你首先直接在主菜单上增加个菜单项TEST(方法是将新建的子菜单的PopUp勾去)ID为IDM_TEST,然后在类向导中选择主框架类为其中的IDM_TEST增加一个响应command的函数
运行后肯定会响应的!!
同是学习者!!
另外问你一下你知道如何在RichEdit中响应NM_CLICK吗?最好具体一点谢谢