用户自定义的的消息

用户自定义的的Windows消息(也就是以WM_开头,除了WM_COMMAND以外的消息,这类消息
在WM_USER以下的是系统消息,WM_USER以上的可以由用户自己定义),是消息发出者直接
发给对应CWnd的窗体句柄,由CWnd负责消息的响应。所以这类消息必须同一个CWnd类对应,
更精确的说必须与一个HWND类型的窗体句柄相对应。

关于发送消息的函数:

SendMessage可以理解为,SendMessage函数发送消息,等待消息处理完成后,SendMessage
才返回。稍微深入一点,是等待窗口处理函数返回后,SendMessage就返回了。

PostMessage可以理解为,PostMessage函数发送消息,不等待消息处理完成,立刻返回。
稍微深入一点,PostMessage只管发送消息,消息有没有被送到则并不关心,只要发送了消
息,便立刻返回。


自定义消息步骤:

1.声明消息:
#define WM_MYMSG (WM_USER+8)

2.在类声明中声明消息处理函数:
afx_msg LRESULT OnMyMsgHandler(WPARAM wParam,LPARAM lParam);

DECLARE_MESSAGE_MAP()

3.实现消息映射:
BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)
ON_MESSAGE(WM_MYMSG,OnMyMsgHandler)
END_MESSAGE_MAP()

4.实现消息处理函数:
LRESULT CXXXDlg::OnMyMsgHandler(WPARAM wParam,LPARAM lParam)
{
//AfxMessageBox("Hello,World!");
return 0;
}

5.发送消息:
::SendMessage(::AfxGetMainWnd()->m_hWnd,WM_MYMSG,0,0);
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值