使用回调函数发送自定义“消息”
2005-03-09 10:56
399 查看
使用回调函数发送自定义“消息”之how to do
1、 定义回调函数原型和回调消息
在这里我们定义回调函数的参数为3个,类型均为unsigned int第一个为主ID,第二个为子ID,第三个为发送的数据。(可以根据自己的需要任意设置回调函数的参数个数及类型。)
typedef void (*CallbackMessageFunc) ( unsigned int iMainID,
unsigned int iChildID,
unsigned int iData = 0);
定义主消息
//main msg
enum MAIN_MSG
{
OUTPUT_INFO,
EXIT_PROGRAM,
// other msg
MAIN_MSG_COUNT
};
定义子消息
//child msg of OUTPUT_INFO
enum CHILD_OUTPUT_INFO
{
HELLO_WORLD,
SHOW_ME_THE_MONEY,
//….
};
2、 定义消息接收函数
此函数为全局函数或为类的静态成员函数,并且声明形式与回调函数原型相同。在此用类的静态成员函数作为消息接收函数。
class CMsgReceiver
{
public:
static void OnProcessMsg( unsigned int iMainID,
unsigned int iChildID,
unsigned int iData = 0);
}
3、 定义回调函数的使用者
class CMsgSender
{
public:
void RegisterMsgReceiver(CallbackMessageFunc fpMsgReceiver);
void SendMessage(unsigned int iMainID,
unsigned int iChildID,
unsigned int iData = 0);
private:
CallbackMessageFunc m_fpMsgSender;
}
4、 使用示例:
CMsgSender msgSender;
msgSender.RegisterMsgReceiver(CMsgReceiver::OnProcessMsg);
msgSender.SendMessage(OUTPUT_INFO, HELLO_WORLD);
5、代码下载
code
1、 定义回调函数原型和回调消息
在这里我们定义回调函数的参数为3个,类型均为unsigned int第一个为主ID,第二个为子ID,第三个为发送的数据。(可以根据自己的需要任意设置回调函数的参数个数及类型。)
typedef void (*CallbackMessageFunc) ( unsigned int iMainID,
unsigned int iChildID,
unsigned int iData = 0);
定义主消息
//main msg
enum MAIN_MSG
{
OUTPUT_INFO,
EXIT_PROGRAM,
// other msg
MAIN_MSG_COUNT
};
定义子消息
//child msg of OUTPUT_INFO
enum CHILD_OUTPUT_INFO
{
HELLO_WORLD,
SHOW_ME_THE_MONEY,
//….
};
2、 定义消息接收函数
此函数为全局函数或为类的静态成员函数,并且声明形式与回调函数原型相同。在此用类的静态成员函数作为消息接收函数。
class CMsgReceiver
{
public:
static void OnProcessMsg( unsigned int iMainID,
unsigned int iChildID,
unsigned int iData = 0);
}
3、 定义回调函数的使用者
class CMsgSender
{
public:
void RegisterMsgReceiver(CallbackMessageFunc fpMsgReceiver);
void SendMessage(unsigned int iMainID,
unsigned int iChildID,
unsigned int iData = 0);
private:
CallbackMessageFunc m_fpMsgSender;
}
4、 使用示例:
CMsgSender msgSender;
msgSender.RegisterMsgReceiver(CMsgReceiver::OnProcessMsg);
msgSender.SendMessage(OUTPUT_INFO, HELLO_WORLD);
5、代码下载
code
相关文章推荐
- 使用回调函数发送自定义“消息”
- 使用回调函数发送自定义“消息”
- 通知栏发送消息Notification(可以使用自定义的布局)
- 使用php发送自定义背景、头像、文字的二维码海报并带有提示的微信消息
- MFC总结(4)---MFC中如何使用子控件向父控件发送自定义消息
- Swift - JPush极光推送的使用(发送自定义消息/通知/别名/tag)
- Android 通知栏发送消息Notification(可以使用自定义的布局)
- vc中使用SendMessage正确发送自定义消息的方法
- 通知栏发送消息Notification(可以使用自定义的布局)
- vc中使用SendMessage正确发送自定义消息
- vc中使用SendMessage正确发送自定义消息的方法
- 【转】vc中使用SendMessage正确发送自定义消息的方法--不错
- 使用postmessage发送自定义消息
- MFC使用SendMessage()发送自定义消息实现进程间通信
- MFC使用SendMessage()发送自定义消息实现进程间通信
- MFC使用SendMessage()发送自定义消息实现进程间通信
- MFC中不同对话框间使用SendMessage发送自定义消息的具体实现
- MFC使用SendMessage()发送自定义消息实现进程间通信
- MFC使用SendMessage发送自定义消息实现进程间通信
- vc中使用SendMessage正确发送自定义消息的方法