【问题标题】:Difference between message map and overriding windowproc消息映射和覆盖 windowproc 之间的区别
【发布时间】:2011-03-20 15:12:07
【问题描述】:

我想问一下,当我在MFC中编程时,消息映射和覆盖windowproc有什么区别? 在哪些情况下我必须覆盖 windowproc?

例如,什么时候必须使用消息 ON_WM_CHAR,什么时候必须重写 windowproc 并捕获 WM_CHAR 的大小写?

谢谢

【问题讨论】:

    标签: c++ winapi mfc


    【解决方案1】:

    出于大多数实际目的,您总是使用 ON_WM_CHAR 而不是覆盖其窗口进程。

    当您需要更改消息循环的基本行为时,您主要会覆盖它的窗口过程——但这非常罕见(我能立即想到的唯一实例是一些需要执行的动画游戏定期编写代码,因此您修改主循环以包含(调用)一些屏幕更新代码。

    【讨论】:

    • 同意。覆盖的另一个常见原因是修改消息的默认路由(尽管这通常可以在PreTranslateMessage 中完成)。
    猜你喜欢
    • 1970-01-01
    • 2010-11-26
    • 2016-04-08
    • 2019-01-11
    • 1970-01-01
    • 2012-06-18
    • 2013-01-10
    • 1970-01-01
    相关资源
    最近更新 更多