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

来源:互联网 发布:软件项目管理ppt 编辑:程序博客网 时间:2024/05/17 08:40


在实际运用中需要将'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参数



目前方法一测试可以,二还不行。

0 0
原创粉丝点击