1.在.cpp文件中添加
#define WM_MY_DELETEITEM WM_USER+100
2.在.h文件
afx_msg LRESULT OnDeleteItem(WPARAM,LPARAM);
3、在.cpp文件中添加
ON_MESSAGE(WM_MY_DELETEITEM,&CDDSServerDlg::OnDeleteItem)
4、定义函数OnDeleteItem
5.发消息
SendMessage或者PostMessage
CTreeItem* pItem ;
PostMessage(WM_MY_DELETEITEM,reinterpret_cast<WPARAM>((void*)(&pItem)),0);//pitem是指针,本来就是地址 不需要&
PostMessage(WM_MY_DELETEITEM,reinterpret_cast<WPARAM>((void*)(pItem)),0);
wparam和lparam工作:将需要传递的参数包装成一个结构体对象,在发出消息的时候把这个对象的地址作为参数。因此,在调用时处理函数就可以拿到这些数据了。微软怕一个地址不够用,所以给了两个作为备用。
参数转换为wparam:(WPARAM)((void*)&m_param)
wparam转换为参数类型: pItem = reinterpret_cast<CSuperGridCtrl::CTreeItem*>((void*)wParam);