MFC 中添加自定义消息的响应 (BEGIN_MESSAGE_MAP ON_MESSAGE)
2010-07-12 11:25
627 查看
BEGIN_MESSAGE_MAP 把消息和函数指针联系起来
1首先要在窗口类的cpp文件手动添加消息响应机制,
ON_MESSAGE(ID,Handler) // 消息映射
LRESULT Handler(WPARAM,LPARAM);//响应的函数
BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)
//{{AFX_MSG_MAP(CXXXDlg)
//自定义消息
ON_MESSAGE(WM_SWIPECARD, OnSwipeCard)
//自定义消息
ON_MESSAGE(WM_MODEM, OnModem)
ON_MESSAGE(WM_THREAD_ERROR, OnThreadError)
ON_MESSAGE(WM_CHECKTXN, OnOnCheckTxn)
ON_WM_DESTROY()
//}}AFX_MSG_MAP END_MESSAGE_MAP()
2 其次在窗口类h文件添加如下代码;
// Generated message map functions
//{{AFX_MSG(CXXXDlg)
virtual BOOL OnInitDialog();
afx_msg void OnDestroy();
afx_msg LONG OnSwipeCard(WPARAM wParam,LPARAM lParam);
afx_msg LONG OnModem(WPARAM wParam, LPARAM lParam);
afx_msg LONG OnThreadError();
afx_msg LONG OnOnCheckTxn(WPARAM wParam, LPARAM lParam); //}}AFX_MSG DECLARE_MESSAGE_MAP()
3 实现响应函数,
LONG XXXDlg::OnOnCheckTxn(WPARAM wParam, LPARAM lParam)
{ dwCurTranType =0; ..... //这部分添加自己响应代码 return 0; }
LONG XXXDlg::OnThreadError( )
{ ..... //这部分添加自己响应代码 return 0; }
4 最后在自己需要的地方调用自己定义的消息(消息响应)
PostMyMsg(pDlg->m_hWnd, WM_CHECKTXN, (WPARAM)TXN_DOWNTYPE, 0);
PostMyMsg(pDlg->m_hWnd, WM_THREAD_ERROR, NULL, NULL );
//消息转发
BOOL PostMyMsg(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
BOOL bRet = FALSE;
bRet = PostMessage(hWnd, uMsg, wParam, lParam);
return bRet;
}
1首先要在窗口类的cpp文件手动添加消息响应机制,
ON_MESSAGE(ID,Handler) // 消息映射
LRESULT Handler(WPARAM,LPARAM);//响应的函数
BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)
//{{AFX_MSG_MAP(CXXXDlg)
//自定义消息
ON_MESSAGE(WM_SWIPECARD, OnSwipeCard)
//自定义消息
ON_MESSAGE(WM_MODEM, OnModem)
ON_MESSAGE(WM_THREAD_ERROR, OnThreadError)
ON_MESSAGE(WM_CHECKTXN, OnOnCheckTxn)
ON_WM_DESTROY()
//}}AFX_MSG_MAP END_MESSAGE_MAP()
2 其次在窗口类h文件添加如下代码;
// Generated message map functions
//{{AFX_MSG(CXXXDlg)
virtual BOOL OnInitDialog();
afx_msg void OnDestroy();
afx_msg LONG OnSwipeCard(WPARAM wParam,LPARAM lParam);
afx_msg LONG OnModem(WPARAM wParam, LPARAM lParam);
afx_msg LONG OnThreadError();
afx_msg LONG OnOnCheckTxn(WPARAM wParam, LPARAM lParam); //}}AFX_MSG DECLARE_MESSAGE_MAP()
3 实现响应函数,
LONG XXXDlg::OnOnCheckTxn(WPARAM wParam, LPARAM lParam)
{ dwCurTranType =0; ..... //这部分添加自己响应代码 return 0; }
LONG XXXDlg::OnThreadError( )
{ ..... //这部分添加自己响应代码 return 0; }
4 最后在自己需要的地方调用自己定义的消息(消息响应)
PostMyMsg(pDlg->m_hWnd, WM_CHECKTXN, (WPARAM)TXN_DOWNTYPE, 0);
PostMyMsg(pDlg->m_hWnd, WM_THREAD_ERROR, NULL, NULL );
//消息转发
BOOL PostMyMsg(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
BOOL bRet = FALSE;
bRet = PostMessage(hWnd, uMsg, wParam, lParam);
return bRet;
}
相关文章推荐
- C++中添加自定义消息的响应 (BEGIN_MESSAGE_MAP ON_MESSAGE)
- C++中添加自定义消息的响应 (BEGIN_MESSAGE_MAP ON_MESSAGE)
- VC++中添加自定义消息的响应 (BEGIN_MESSAGE_MAP ON_MESSAGE)
- C++中添加自定义消息的响应 (BEGIN_MESSAGE_MAP ON_MESSAGE)
- C++中添加自定义消息的响应 (BEGIN_MESSAGE_MAP ON_MESSAGE)
- 在MFC中添加自定义消息响应
- 在MFC中手动添加消息处理函数PreTranslateMessage和自定义消息
- 在MFC中手动添加消息处理函数PreTranslateMessage和自定义消息
- 在MFC中添加用户自定义消息
- 转 MFC中用户自定义类响应自定义消息
- c++builder中添加和响应自定义消息
- MFC中添加自定义消息
- MFC添加自定义窗口消息
- mfc 垂直滚动条添加,并响应鼠标滑轮消息
- VC++中添加响应自定义消息
- MFC单文档程序添加消息映射和消息响应函数的问题
- MFC对话框应用程序添加自定义消息
- VS2008中MFC自定义消息响应函数
- C++ MFC中添加自定义消息映射宏及添加消息响应函数
- 在VC中添加响应自定义的消息的代码步骤