为什么在mainframe里给菜单项加消息处理没问题,在view类里这样做菜单项会变灰?

Kaile 2005-08-16 10:09:13
我的SDI程序用CSplitterWindow分为2个View,我想在右边的view里处理菜单消息,结果加了消息映射后菜单还是无效,如果把消息加到mainframe下就好了,请教原因是什么?我想加到View里应该如何做?

谢谢!
...全文
160 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiger波波 2005-08-17
  • 打赏
  • 举报
回复
学习
蒋晟 2005-08-17
  • 打赏
  • 举报
回复
用户可以通过界面操作来设置活动视图。如果要用程序设置,调用CSplitterWnd::SetActivePane
Kaile 2005-08-17
  • 打赏
  • 举报
回复
蒋老师:
可否将右边的view设为活动视图,我希望消息处理还在这个view里进行。

感谢您的帮助。
蒋晟 2005-08-17
  • 打赏
  • 举报
回复
区别是视图是否框架的活动视图
只有一个视图的时候,视图总是框架的活动视图
Kaile 2005-08-17
  • 打赏
  • 举报
回复
为什么我以前的VC6程序在View里做消息映射一直正常?区别是只有一个view,没有多个view。

难道这是VC6与.net2003的差别?
蒋晟 2005-08-17
  • 打赏
  • 举报
回复
命令消息首先被CWinApp类处理,默认的处理流程是CWinApp类->主框架->MDI子框架->活动视图->文档。如果你要自定义处理流程,可以在处理流程中处理这个命令并/或转发到其他CCmdTarget派生类
参考
http://www.codeproject.com/docview/splitcmdroute.asp
c9714052 2005-08-17
  • 打赏
  • 举报
回复
因为菜单不属于View,结构应该是mainframe包含菜单和view。

你可在view上画条斜线看看,从0,0开始,线是画不到菜单上的。你再在mainframe上画,就能画到菜单上了。
真相重于对错 2005-08-17
  • 打赏
  • 举报
回复
CODE?

真相重于对错 2005-08-17
  • 打赏
  • 举报
回复
正确
HeavenMonkey 2005-08-17
  • 打赏
  • 举报
回复
是吗?快试试……

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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