MFC消息循环中几个函数的差异

 Windows程序员因该都知道消息循环的!本人曾经写过类似于此篇的文章,无奈当时没有去看多线程,讲的比较生硬,也许受到众多读者的批判或质疑,而且那个用户的密码也忘记了,无法修改,只能旧事重提!

这次主要讲解4个(2对)函数  发送消息的函数和接受消息的函数各2个;

1   发送消息的函数

             这里主要讲 Sendmessage()和Postmessage()

            区别:     Sendmessage()将消息发送到相应的窗口只待消息被处理方返回;即它是同步的函数;

                           如下例

                                                     MSG msg;

                                                     msg  = WM_KEYDOWN;

                                                    Sendmessage(msg);

                                                    MessageBox("Sendmessage");

                           只有Sendmessage()函数返回之后才能显示对话框;但是如果是Postkmessage()

                                                     MSG msg;

                                                     msg  = WM_KEYDOWN;

                                                    Postmessage(msg);

                                                    MessageBox("Sendmessage");

                    对话框不会等Postkmessage()函数返回直接显示;因为Postkmessage()是异步执行的;

2   接收消息的函数

                   这里主要讲 Getmessage()和Peekmessage()

         区别:   1    Getmessage()比Peekmessage()少一个参数,Peekmessage可以设定将消息从消息队列取出之后消息是否还继续放在消息队列或者清除掉;

                      2      Getmessage()去消息队列取消息直到有一个消息为止,而Peekmessage发现消息队列中没有消息时同样返回;让出CPU时间去做别的事情;

 过去以为自己很了解这几个函数,真正写点东西的时候发现说的还是不清楚!望大家见谅,如果有什么不对的地方希望给与改正!

 

                                            

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值