面试准备-MFC

MFC


消息机制

(1)窗口消息。以“WM_”开头,WM_COMMAND除外,消息通常从系统发送到窗口,或从窗口发送到系统。窗口消息一般和窗口内部运作有关。

(2)命令消息。和处理用户请求有关。

(3)控件消息。


MFC的消息映射机制

主要通过两个宏来实现的:

DECLARE_MESSAGE_MAP()宏

BEGIN_MESSAGE_MAP(theClass,baseClass)和END_MESSAGE_MAP()宏


MFC代码分析

MFC中的WinMain()函数中,首先调用CWinApp::InitApplication(),再调用CWinThread::InitInstance()。之后再调用CWinTread::Run()函数。

MFC中消息不是通过GetMessage()从线程消息队列中获得的,而是通过PeekMessage()获得。

GetMessage():具有同步行为的函数,如果消息队列中没有消息,GetMessage()会一直阻塞,使得县城处于睡眠状态,直到消息队列中有一条或多条消息,操作系统才会唤醒该线程,GetMessage()才会返回。

PeekMessage():具有异步行为的函数,如果消息队列中没有消息,他马上返回0,不会导致线程处于睡眠状态。




























































































  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值