|
我可以确定我接收到了。
我现在发现这里有问题,我定义一个char str[5]="aaaaa";
然后用SendMessage(GetDlgItem(hDlg,IDC_EDIT5),WM_SETTEXT,NULL,(LPARAM)str);
在EditBox里显示这个str,显示出来也是乱码。所以我想可能是码制转换的问题。
用MultiByteToWideChar转换,代码如下:
int widecharlen=MultiByteToWideChar( //计算从Ansi转换到Unicode后需要的字节数
CP_ACP,
MB_COMPOSITE,
str, //要转换的Ansi字符串
0, //自动计算长度
0,
0
);
LPTSTR wstr = new TCHAR(widecharlen);
MultiByteToWideChar( //从Ansi转换到Unicode字符
CP_ACP,
MB_COMPOSITE,
str,
5,
wstr, //转换到tmpstr
widecharlen //最多转换widecharlen个Unicode字符
);
再用SendMessage显示,就什么也不显示了,请问下我使用有什么错误,或者我的想法是不是对的?
麻烦解答下,谢谢 |
|