看流星社区

 找回密码
 注册账号
查看: 2429|回复: 0

PostMessage发送字符串和结构体

[复制链接]

该用户从未签到

发表于 2015-6-2 14:30:04 | 显示全部楼层 |阅读模式
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掉这个对象
。结构体也是如此。
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-27 04:20

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表