Window消息机制_1

为了保证发给窗口的任何过程的消息都能够被窗口处理,Window提供两个默认的消息处理API

DefWindowProc 对应普通窗口,DefDlgProc对应对话框的消息处理.

发送消息的方式

SendMessage:要求消息立即返回,直到消息处理完毕,将消息结果发给调用者.被封装的MFC原形函数:

LRESULT CWnd::SendMessage(UINT uMsg,WPARAM wParam=0,LPARAM lParam=0);

PostMessage:只是将消息放到线程消息队列中,不等待消息响应就立即返回了.封装后的函数原型

BOOL CWnd::PostMessage(UINT uMsg,WPARAM wParam=0,LPARAM lParam=0);

消息具有优先级:

定时器WM_TIMER消息的优先级较低,如果有高于此的消息存在,系统将优先处理其他消息,所以如果用WM_TIMER无法做到精确定时的结论。

用户自定义消息在:WM_USER(0x0400)-- 0X7FFF

如:afx_msg LRESULT OnXXX(WPARAM wParam,LPARAM lParam);

而在MFC中可以利用:ON_MESSAGE宏来实现自定义消息映射,如果为了实现通信需要,可以利用:API RegisterWindowMessage来注册消息。

UINT RegisterWindowMessage(LPCTSTR lpString);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值