qq_29670983
2015-08-13 12:22
采纳率: 43.1%
浏览 1.6k

请教一个MFC重载的问题

MFC消息控制流最具特色的地方是CWnd类的虚拟函数PreTranslateMessage(),通过重载这个函数,我们可以改变MFC的消息控制流程,甚至可以作一个全新的控制流程出来。

请问下这句话中的,通过重载这个函数,是什么意思呀?甚至可以作一个全新的控制流程出来。意思是重写这个函数吗?我知道重载函数是啥意思,但是这里不是很明白,还请指教一下,先谢谢了。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • threenewbee 2015-08-13 12:50
    已采纳

    不是重载,而是重写PreTranslateMessage()
    这是一个虚函数,你的窗口从CWnd派生,你可以写一个PreTranslateMessage()函数,然后它会替换掉基类的实现,从而你可以把你的消息处理放在里面。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • oyljerry 2015-08-13 12:30

    重载了这个函数后。MFC框架就会调用你的实现。从而把这个消息处理逻辑交给你自己控制。

    评论
    解决 无用
    打赏 举报
  • AgoniAngel 2015-08-13 15:31
    评论
    解决 无用
    打赏 举报
  • 一度凡尘 2015-08-14 06:41

    系统函数不是重载,你可以重写这个函数,然后把自己想改变的事件处理方式自己实现,系统会屏蔽掉原有的处理,亦或是自己的事件处理完毕再处理系统原有的动作

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题