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);