这段时间看vc++深入详解.看到添加自定义消息那一节,按照书上的方法就是编译不通过.vc6.0和vs2008中添加消息的方法不同.现在就把添加自定义消息的方法记录下来
红色标记的地方为不同之处.
1.定义消息
#define UM_PROGRESS WM_USER+1
2.类头文件中声明消息响应函数(OnProgress)
vc6.0声明如下
afx_msg void OnProgress();
vs2008声明如下:
afx_msg LRESULT OnProgress(WPARAM wparam,LPARAM lparam);
3.消息映射(消息映射用ON_MESSAGE,命令映射用ON_COMMAND)
在消息映射表中添加映射.在宏BEGIN_MESSAGE_MAP()和END_MESSAGE_MAP()之间
vc6.0如下
- ON_MESSAGE(UM_PROGRESS,OnProgress)
ON_MESSAGE(UM_PROGRESS,OnProgress)
vs2008如下:
ON_MESSAGE(UM_PROGRESS,CMainFrame::OnProgress)
4.定义消息响应函数
- LRESULT CMainFrame::OnProgress(WPARAM wparam,LPARAM lparam)
- {
- }