vc7.0中为什么消息总是接收不到?(在线等待)

lovechen508 2003-03-17 04:22:28
我用vc7.0写程序,多文档界面,在菜单中添加的菜单项不管在CMyView,CMyDoc,CChildFrm,CMainFrm还是在CMyApp中都
接收不到消息?

在MyView.h中
{
...
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnDibcentr();
};

在MyView.cpp中

BEGIN_MESSAGE_MAP(CBMPView, CScrollView)
// 标准打印命令
ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW,CScrollView::OnFilePrintPreview)
ON_UPDATE_COMMAND_UI(ID_DIBCENTR,/*控件ID*/ OnUpdateDibcentr)
ON_COMMAND(ID_DIBCENTR, OnDibcentr)
END_MESSAGE_MAP()

void CBMPView::OnDibcentr()
{
// TODO: 在此添加命令处理程序代码
AfxMessageBox("hello world!");
}

我选择ID_DIBCENTR后并没有出现AfxMessageBox?
...全文
80 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenmu_2002 2003-03-18
  • 打赏
  • 举报
回复
耐心等待.net的补丁吧,还有好几个bug,呵呵
lovechen508 2003-03-18
  • 打赏
  • 举报
回复
有没有好的方法?
chenmu_2002 2003-03-18
  • 打赏
  • 举报
回复
lovechen508(chen):
不是ID_157,而是
#define ID_157 120(是这个数字必须是当前唯一的)
panex(我的征途是VC的大海)
最好改为自己容易理解的,比如ID_FINDTEXT之类的,ID_130是系统自动生成的
lovechen508 2003-03-18
  • 打赏
  • 举报
回复
xiexie, 结贴了。下次再聊!
panex 2003-03-17
  • 打赏
  • 举报
回复
我也发现这个问题,我自己改过了resource.h后,他好像总是由ID_130开始的,是否有好的方法?
lovechen508 2003-03-17
  • 打赏
  • 举报
回复
谢谢! 我添加菜单项后,不急于改他的ID,由系统指定如 :ID_157
然后添加消息映射函数,成功后在项目中将ID_157替换成你想要的ID就行了。
这是不是个笨方法?
chenmu_2002 2003-03-17
  • 打赏
  • 举报
回复
错误在于vc7还不完善,你需要打开解决方案,把其中#define 后面数字相同的改成当前文件中唯一的数字

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧