关于VS2013的MFC设置文本框内容但是显示是乱码的问题。

carlblack1987 2015-12-11 10:37:13
初学MFC不久,碰到一个乱码问题。
设置一个文本框的内容的时候一直都是乱码,不只是中文,就是数字和英文也一样是乱码。

代码如下:
void CSudukuSolverDlg::showSuduResult() {
string temp = "12345678";
//GetDlgItem(SudokuEditResult)->SetWindowText(temp.c_str());
SetDlgItemText(SudokuEditResult, (LPCTSTR)temp.c_str());
}


...全文
541 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lx624909677 2015-12-15
  • 打赏
  • 举报
回复
为何还要用LPCTSTR强转一下?
carlblack1987 2015-12-15
  • 打赏
  • 举报
回复
引用 3 楼 lx624909677 的回复:
用CString来存储字符串试试,给控件设置内容,用SetWindowTextW试试


抱歉,这么久才来回复。谢谢版主的建议,
问题已经解决了,使用CString之后再使用SetWindowTextW之后就可以了,
不过貌似直接使用 SetWindowTextW((LPCTSTR)("1234")); 这种格式的依然是不行的。。。。



结贴!!!
carlblack1987 2015-12-12
  • 打赏
  • 举报
回复
引用 1 楼 oyljerry 的回复:
用wstring edit控件默认是unicode编码
是的,包括我的项目都是unicode编码? 然后我在网上查了下,有人说VS2010以后的edit控件是用的宽字符编码, 请问我是不是要手动转一下码?
lx624909677 2015-12-12
  • 打赏
  • 举报
回复
用CString来存储字符串试试,给控件设置内容,用SetWindowTextW试试
oyljerry 2015-12-11
  • 打赏
  • 举报
回复
用wstring edit控件默认是unicode编码

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧