?在mfc中怎样进行自定义消息的映射
解决方案 »
- readfile读取串口数据的问题
- 很简单的问题呵呵
- 组织一个报文,前两位是定义整个报文的长度,就是长度如何设置及16进制下赋值问题,具体见里,谢谢!
- 窗体包含html网页的问题
- 高手请进,关于CGridCtrl控件的问题。
- 如何刷新CTreeCtrl控件
- (200分谢)我要做一个飞机仪表实时显示的程序,如有做过这方面例子的高手或有类似例子的请帮忙!
- 急求助。。。需要写一个代理服务器,请问谁有可用的源码吗??给偶讲解讲解???
- MFC基础类问题(头文件相互包含)
- 在MFC中AfxBeginThread怎样结束该线程释放资源?
- 怎样在自已的程序中运行一个控制台程序,并获得其输出,
- 客户端怎么调用服务端?
afx_msg void fun_name();
在CPP文件里
BEGIN_MESSAGE_MAP(CSmsRxTxUnionDoc, CDocument)
//{{AFX_MSG_MAP(CSmsRxTxUnionDoc)
ON_MESSAGE(WM_YOURMESSAGE, fun_name)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
//{{AFX_MSG_MAP(CSmsRxTxUnionDoc)
//这里是类向导添加的,
//你就别动这里了~~
ON_MESSAGE(WM_YOURMESSAGE, fun_name)
//}}AFX_MSG_MAP
//我们可以在这里添加自己的消息映射
ON_MESSAGE(....... )
END_MESSAGE_MAP()
{
// TODO: 处理用户自定义消息
...
return 0;
}
第三步:在类头文件的AFX_MSG块中说明消息处理函数:class CMainFrame:public CMDIFrameWnd
{
...
// 一般消息映射函数
protected:
// {{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnTimer(UINT nIDEvent);
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
}
第四步:在用户类的消息块中,使用ON_MESSAGE宏指令将消息映射到消息处理函数中。BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_WM_TIMER()
ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
如果用户需要一个整个系统唯一的消息,可以调用SDK函数RegisterWindowMessage并使用ON_REGISTER_MESSAGE宏指令取代ON_MESSAGE宏指令,其余步骤同上。