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);
#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);
相关文章推荐
- MFC 自定义消息四步曲与在参数中传递变量
- 【转载+修改】MFC 自定义消息四步曲与在参数中传递变量
- MFC 自定义消息四步曲与在参数中传递变量
- 为何在自定义消息处理函数中无法利用wParam或lParam传递指针?
- 利用自定义消息处理函数的WPARAM或LPARAM参数传递指针
- 用户自定义消息,以及消息传递的参数设定
- 基于VS2010的MFC多线程编程(指针、句柄、整形变量等参数传递 )
- MINIGUI,WIN32消息循环中的lParam参数传递时小注意点
- MFC 消息中( WPARAM wParam,LPARAM lParam)包含信息
- 如何在MFC对话框之间自定义消息传递
- 通过WPARAM wParam或者LPARAM lParam将数组传递到消息处理函数
- MFC 消息中( WPARAM wParam,LPARAM lParam)包含信息
- 如何在MFC对话框之间自定义消息传递
- win消息传递参数尽量不要传指针
- 利用自定义消息处理函数的WPARAM或LPARAM参数传递指针
- MFC 自定义消息(类向对话框类传递自定义消息)
- MFC 消息中( WPARAM wParam,LPARAM lParam)包含信息 (2014-08-30 09:27:13)
- 利用自定义消息处理函数的WPARAM或LPARAM参数传递指针
- MFC对话框之间自定义消息传递
- 用户自定义消息,以及消息传递的参数设定