请问要怎么在_T()里面用变量
如 CString a="测试"
myEdit.SetWindowTextW(_T(a));
这样的话编译报错说La无法识别?
请教高手?MFc第一次接触,望详细点,谢谢了
如 CString a="测试"
myEdit.SetWindowTextW(_T(a));
这样的话编译报错说La无法识别?
请教高手?MFc第一次接触,望详细点,谢谢了
解决方案 »
- EDIT控件输出long类型,以及EDIT里面的文本转换为long型的问题
- 选择“Go To Definition Of InitCtrl”时弹出“The Symbol"InitCtrl"is undefined”话框,是因为什么?
- DShow:在Video Decoder Filter和Video Renderer Filter间插入Infinite Tee Pin Filter的问题?
- 求好的加密函数
- 现在有没有人知道如何用vc操作大二进制字段(blob),针对db2和oracle.
- 程序的CLSID可以改变吗?怎么改变?
- 新手求助:关于图像采集问题
- 关于网络监视
- 如何在程序中改变对话框标题栏的字符串?
- 问个directsound的问题.
- 奇怪的问题,折腾好久了。没有Messagebox就不显示按钮?
- 摄像头设备
楼主可以这样用:
myEdit.SetWindowTextW(_T("测试"));
myEdit.SetWindowTextW(a);你都用MFC了,直接用CString就是了
myEdit.SetWindowText(a);你都用MFC了,直接用CString就是了
CString a(_T("测试"));
myEdit.SetWindowText(a);
CString a(_T("测试"));
myEdit.SetWindowText(&a);
SetWindowText的参数用CString的指针应该可以吧,可能要加个强制转换类型
myEdit.SetWindowTextW(_T(a));_T 要的类型是 char * 或者 wchar_t* ; a 的 类型 是CString
除非 CString 能够自动转换为 char* 或 wchar_t * 否则不能直接这样 (运算符 转换重载)另外 _T 依赖于编程环境的定义 ,如果是ascii的 则_T 的参数为 char *;
unicode 环境的为wchar_t * 上述 的 SetWindowTextW 应该是 使用unicode字符集的 ,使用_T 出错的原因 可能是 编程环境使用 ascii个人觉得 如果是字符串处理的话,不要笼统的使用 TCHAR 之类的, 当然这样会容易一点点而已,但麻烦也多,正如上面的 不能确定字符集而导致的错误 、字符长度计算 ,不同字符集的转换
应该使用单一一种字符集,推荐是unicode字符集,虽然内存占用大一点