没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
[MFC]消息机制
首先让我们看一下 的消息循环部分:(程序取自 源程序,由于篇幅,我删去了一些非重要的部分。)
的 函数:
!"#$#$%&'
(
))!!$)"%$
*+!"#$#$%&',
-
.+
!"#$#$%&'
(
*%$/01,
""2"""/+3""',
))44
))+%#"5!6%
+7"""08''
(
))44
))初始化实例不成功,通常一个 9!%:;$ 程序必须返回
))这样就可以跳过消息循环。
*%$/"""08',
:%%!*,
-
*%$/"""08 *',))进入消息循环部分
!*<
))44
))程序结束
+#',
* *%$,
-
""<< *'
(
))44
*$<< *',))消息循环被封装在 $ 类里。
-
$<< *'
(
;==>$!/ ?,
=3!$!%*/@,
))死循环,只有收到 A?消息后才会退出。
+%,,'
(
&!>$!BB
7<<C:B##:*???= =D''
(
+7=$!!$!%*EE''
>$!/,
-
))如果消息队列中没有消息,那么就调用 =$! 函数
))否则,发送消息
$%
(
+7*#":''
))*#": 函数仅在收到 A? 消息才返回
*',))退出死循环
+$!:B##:*''
(
>$!/ ?,
!$!%*/@,
-
-&!<<C:B##:*???= =D'',
))这段程序不仅完成了消息的发送,还实现了 $! 功能。
))3: 函数在消息队列中没有消息时,将不会返回,
))而是将控制权交给操作系统,直到消息队列中有消息为止。
))这段程序在一开始就调用 C: 函数来检测消息队列中
))是否有消息存在,如果存在就发送消息,
))否则就意味着空闲,那么就调用 =$! 函数,
))这样做,控制权永远不会交给操作系统。
))由于 $%&FG 都是抢占式的操作系统,
))系统会自动进行任务切换。
))所以不用担心别的程序不会被运行。
-
-
;==$<<*#":'
(
+7<<3:B##:*???''
())收到 A?消息,就返回 。
*,
-
))否则就发送消息
+##:*H#:7/II9BB7!:B##:*'
'
(
<<!:B##:*',
<<9":B##:*',
-
* ?,
-
)
主程序的流程:
程序开始'
J
J
J
J
+
J
J
""<<KK08退出程序
J
J ?
J
""<< *
J
J
$<< *
J
JLKKKKKKKKK0E
J
剩余63页未读,继续阅读
qq531567990
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页