MFC窗口的控件事件和消息有什么区别?使用有什么建议吗?
请问MFC窗口的控件事件和消息有什么区别呢?它们的处理函数呢?
比如上图中的slider控件。它有一个位置发生变化的事件。
而用消息的话,我需要为WM_HSCROOL添加处理函数,在处理函数中判断滑块的位置是否发生变化。
而它的事件可以直接说明滑块位置变化了。这个看起来处理事件比处理消息更方便啊!
有人说事件时消息的封装。处理事件是不是比处理消息方便啊?还不需为控件添加变量。
总结一下我的疑问:
1.那mfc既然有了消息,为什么还有事件呢?
2.事件和消息的联系和异同?包括它们的处理函数
3.在使用时,两者的建议?
mfc 事件 windows消息
[解决办法]
消息:对应于windows API的消息
事件:一般对应于对应于WM_COMMAND消息,比如菜单,子控件都是发送WM_COMMAND消息给父窗口,发送了某个WM_COMMAND消息,就是某个事件
[解决办法]
可以这么理解。
消息是系统的,事件是人为的。
比如 单击 事件,其实是鼠标在 按下消息 和 松开消息之后,CButton自己觉得我该告诉上层我被点击了,于是以消息的方式发送给父窗口。
[解决办法]
消息 : 是被动的 ! 你要自己安排时间去取出来看或检查 ~
控件事件 : 是主动的 ! 当发生时 会执行其对应的函式 ! 你只要把事件发生时想要做的事情放在函式里就可以了
[解决办法]