摘要:(2条消息) MFC中 'CString' to 'WPARAM'之间的转换_疯狂的挖掘机的博客-CSDN博客_cstring转wparam
在实际运用中需要将'CString' to 'WPARAM'之间的转换,之间的转换
用已下方法即可实现:
方法一:
1.在发送消息端使用如下方法:
CString strVal;
GetParent()->PostMessage(WM_MESSAG_MINE,(WPARAM)strVal.AllocSysString(),0);
2. 在接收消息端使用:
BSTR b = (BSTR)wParam;
CString s(b);
SysFreeString(b);
AfxMessageBox(s);
方法二:
1 CString作为WPARAM进行传递
这种情况经常出现在自定义消息的发送语句中,将CString类型的变量作为WPARAM进行传递.直接将CString强制转化成WPARAM是不行的,正确的方法是这样的(将红色字体部分用你的消息和变量进行替换):
SendMessage(WM_SELCHANGE, (WPARAM)lBoxSelText.GetBuffer(0), NULL);
lBoxSelText.ReleaseBuffer();
2 提取WPARAM作为CString变量的值
直接将WPARAM进行强制类型转换就可以了
3 结构体作为消息的参数传给WPARAM的方法
结构体变量使不能直接传给WPARAM的,只有结构体指针才能传给WPARAM参数
目前方法一测试可以,二还不行。
标签:WPARAM,MFC,转换,CString,消息,方法 From: https://www.cnblogs.com/nuistwangyu/p/16924542.html