关于侯老师的第九章《消息映射和命令传递》的有一定代表性的问题
点击菜单中的某项时,命令会依次从View->Frame->doc再流向app,期间只要上面任何一个环节处理了这个消息,那么这次命令传递就会中止。
为了进一步理解这个传递过程(我正在学习的侯老师的第九章《消息映射和命令传递》的内容),我想设计这样一个过程:
当我点击某项菜单命令时,我想在以上的四个环节中都响应这个命令,而不是只响应其中一个环节,也就是当点击完菜单后,依次出现四个MessageBox,上面分别写着:
1.hello from view
2.hello from frame
3.hello from doc
4.hello from app
well,现在的问题是:如果不加特别处理,那么即使在那四个类中分别加入响应函数,也会只在处理完第一个Box以后,就没了下文,所以,该如何进行这个特别处理呢?
再说说我的关于这个问题的一点猜测:在命令消息最后的处理函数中,如果做了处理,那么就return一个TRUE,否则就FALSE.如果做了处理还传回一个FALSE,那么
传递过程就还会继续--这样自然就实现了原问题的解决,这也是我最开始的想当然,但恼火的是,那些最后的处理函数如:CMyView::OnXXXX()(由classwizard自动生成),却都是无返值的void型函数……
各位大侠请了!