标签:
在MFC项目开发中,涉及到不同模块间数据信息的传递,如用户在登录界面成功登录后向系统管理模块发送用户名和密码等信息。
首先,需明确以下两点:
本文以对象A向对象B发送消息为例进行讲解,具体如下:
首先在A的头文件(*.h)中自定义这个消息:
1 #define WM_MyMessage WM_USER+100
或者:
1 const UINT WM_MYMESSAGE = WM_USER + n
需注意以下几点:
n一般至少大于100
该消息一般加在stdafx.h 或resource.h 或*.h中,一般都是全局变量头文件
消息接收方对象接受一个消息,需有以下三部分:
在DECLARE_MESSAGE_MAP()语句之前,加如下形式的函数原型:
1 afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
对Win32来说,wParam, lParam是传递消息最常用的手段。
在cpp文件里,BEGIN_MESSAGE_MAP语句之后,加如下形式的代码:
1 ON_MESSAGE(WM_MyMessage, OnMyMessage)
也就是说WM_MyMessage消息对应OnMyMessage函数。注意,上面是不用分号结尾的。
1 LRESULT CBDlg::OnMyMessage( WPARAM wParam, LPARAM lParam )
2 {
3 //处理用户自定义消息
4 ......
5 return 0;
6 }
标签:
原文地址:http://www.cnblogs.com/whl2012/p/4746576.html