您的位置:首页 > 其它

mfc自定义消息 wparam lparam 参数传递指针

2014-06-17 16:57 603 查看
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: