我们知道,在写mfc程序时经常我们会遇到某些自己定义触发事件,这时候就需要自定义消息来处理自己想要处理的消息。在孙鑫老师的教材中也很多次提到这个问题。自定义消息一般有以下几个步骤:
比如我们我们想第一个叫UM_SOCK的消息来用于网络编程当中。
1. 在头文件中
#define UM_SOCK WM_USER + 1 //对于自定义的消息一般以UM开头
2.在头文件中对UM_SOCK消息响应函数进行原型申明。
//{{AFX_MSG(CChatDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnBtnSend();
//}}AFX_MSG
afx_msg void OnSock(WPARAM wParam, LPARAM lParam);
DECLARE_MESSAGE_MAP()
3.在对应的源文件中添加UM_SOCK消息映射。
BEGIN_MESSAGE_MAP(CChatDlg, CDialog)
//{{AFX_MSG_MAP(CChatDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BTN_SEND, OnBtnSend)
//}}AFX_MSG_MAP
ON_MESSAGE(UM_SOCK, OnSock)
END_MESSAGE_MAP()
4.最后就是消息函数的实现勒。
void CChatDlg::OnSock(WPARAM wParam, LPARAM lParam)
{
}
通过以上步骤,就ok啦,所以自定义消息不会难的。
MFC中自定义消息
最新推荐文章于 2022-11-06 18:00:54 发布