自定义消息id
#define WM_MSG WM_USER+100
绑定消息函数
ON_MESSAGE(WM_MSG, OnMsg)
实现onMsg函数
LRESULT CTestLogDlg::OnMsg(WPARAM wP, LPARAM lP)
{
CString str;
MYMSG* mymsg = (MYMSG*)(lP);
str.Format(L"%s\r\n", mymsg->str);
m_logshow.ReplaceSel(str);
return 0;
}
其中MYMSG是我自定义的消息结构体
typedef struct mymsg {
int msgid;
CString str;
}MYMSG;
下面进行调用
void CTestLogDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
static int index = 0;
m_logstr.Format(L"ssssss%d",index);
index++;
showlog(m_logstr);
}
void CTestLogDlg::showlog(CString str)
{
MYMSG * mymsg = new MYMSG;
mymsg->msgid = 1;
mymsg->str = str;
::PostMessage(::AfxGetMainWnd()->m_hWnd, WM_MSG, 0, (LPARAM)mymsg);
}
其中log显示框属性如下所示
结果如下所示

本文介绍如何在C++中使用自定义消息ID WM_MSG,并通过MYMSG结构体发送和接收消息。展示了如何绑定消息函数、创建消息实例以及在CTestLogDlg类中处理这些消息。重点在于消息传递和对话框响应的实现。
752

被折叠的 条评论
为什么被折叠?



