首页 > 其他分享 >MFC中 'CString' to 'WPARAM'之间的转换

MFC中 'CString' to 'WPARAM'之间的转换

时间:2022-11-25 11:24:11浏览次数:63  
标签:WPARAM MFC 转换 CString 消息 方法

摘要:(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

相关文章