添加自定义消息:
1.定义消息名称
#define WM_LOGG_APPEND WM_USER+1
2.定义消息响应函数
LRESULT OnAppendLog(WPARAM wParam, LPARAM lParam);
响应函数实现
LRESULT CClientDlg::OnAppendLog(WPARAM wParam, LPARAM lParam)
{
char* szLog = reinterpret_cast<char*>(lParam);
UpdateData(TRUE);
if (szLog != NULL)
{
if (!m_szLog.IsEmpty())
m_szLog += "\r\n";
m_szLog += szLog;
// LineScroll to End
CEdit* pLogEdit = NULL;
pLogEdit = ((CEdit *)GetDlgItem(IDC_EDIT_LOG));
pLogEdit->LineScroll(pLogEdit->GetLineCount(),0);
}
UpdateData(FALSE);
delete[] szLog;
return 0;
}
3.添加消息映射
BEGIN_MESSAGE_MAP(CClientDlg, CDialog)
//{{AFX_MSG_MAP(CClientDlg)
// 省略
ON_MESSAGE(WM_LOGG_APPEND, OnAppendLog)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
1.定义消息名称
#define WM_LOGG_APPEND WM_USER+1
2.定义消息响应函数
LRESULT OnAppendLog(WPARAM wParam, LPARAM lParam);
响应函数实现
LRESULT CClientDlg::OnAppendLog(WPARAM wParam, LPARAM lParam)
{
char* szLog = reinterpret_cast<char*>(lParam);
UpdateData(TRUE);
if (szLog != NULL)
{
if (!m_szLog.IsEmpty())
m_szLog += "\r\n";
m_szLog += szLog;
// LineScroll to End
CEdit* pLogEdit = NULL;
pLogEdit = ((CEdit *)GetDlgItem(IDC_EDIT_LOG));
pLogEdit->LineScroll(pLogEdit->GetLineCount(),0);
}
UpdateData(FALSE);
delete[] szLog;
return 0;
}
3.添加消息映射
BEGIN_MESSAGE_MAP(CClientDlg, CDialog)
//{{AFX_MSG_MAP(CClientDlg)
// 省略
ON_MESSAGE(WM_LOGG_APPEND, OnAppendLog)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()