vc SendMessage怎样自定义发送消息
编程小小鸟 2015-08-20 10:41:25 在头文件里
#define WM_MYMSG WM_USER+5 //自定义一个消息
afx_msg void OnMyMessage(WPARAM wParam, LPARAM lParam); //自定义消息的处理函数声明
在.cpp文件里
ON_MESSAGE(WM_MYMSG, OnMyMessage)
//利用ON_MESSAGE()宏在自定义消息与其处理函数间建立映射关系
void CModelessDlg::OnMyMessage(WPARAM wParam, LPARAM lParam)
//从lParam中取出CString对象的指针,并将字符串内容在IDC_MSGEDIT中显示出来
{
CString *str;
str=(CString *)lParam;
SetDlgItemText(IDC_EDIT,*str);
}
按下按钮发送消息
void CModelessDlg::OnMsgBTN()
{
CString str= "自定义消息被触发了!";
SendMessage(WM_MYMSG, 0, (LPARAM) &str);
//给ModelessDlg自己发一个自定义的消息
}
///////////////////////////////////////////////////////////////////
BEGIN_MESSAGE_MAP(CzidingyiDlg, CDialogEx)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BUTTON1, &CzidingyiDlg::OnBnClickedButton1)
ON_MESSAGE(WM_MYMSG, OnMyMessage)///////添加在这里,但编译出错,是vs2012,
END_MESSAGE_MAP()
/////////到底哪里错了,帮我啊