PostMessage发送字符串和结构体
PostMessage发送字符串和结构体
无奈的初弦 发表于5年前
PostMessage发送字符串和结构体
  • 发表于 5年前
  • 阅读 4171
  • 收藏 2
  • 点赞 0
  • 评论 0

【腾讯云】新注册用户域名抢购1元起>>>   

1.首先定义消息变量

#define WM_POST_MSG WM_USER + 2

2.增加消息处理函数

afx_msg LRESULT UpdateStatic(WPARAM wParam, LPARAM lParam);

3.增加消息映射

ON_MESSAGE(WM_POST_MSG,UpdateStatic)

当调用PostMessage函数时如下

CString  *msg = new CString("this is msg");
::PostMessage(m_hWnd,WM_POST_MSG,0,(LPARAM)msg);

关键在这个地方,为什么要new一个对象呢,先看接受消息函数怎么样处理的

LRESULT CPostMessageStringDlg::UpdateStatic(WPARAM wParam, LPARAM lParam)
{
	CString * temp = (CString *)lParam;
	MessageBox(*temp);
	delete temp;
	return 0L;
}

直接获得先前new对象的地址,因为在先前new的对象没有释放,还在堆中,所以处理函数能够通过参数传递过来的指针找到对象的位置,从而获得这个对象, 最后别忘了delete掉这个对象 。结构体也是如此。


  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 2
博文 25
码字总数 8623
×
无奈的初弦
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: