List Control 控件不支持多字节字符集吗?

shus 2013-08-12 08:59:48
1、我用的VS2010,选择多字节字符集时汉字显示乱码,请问该如何解决;
2、如1解决不了,只能用Unicode字符集,需要存储txt文件,用CStdioFile类 文件读写操作也会乱码,该如何处理? 谢谢!
...全文
79 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shus 2013-08-13
  • 打赏
  • 举报
回复
void CAlDlg::ListctrlInit(void)
{
		//获得原有风格
	DWORD dwStyle = ::GetWindowLong(m_listctrl.m_hWnd, GWL_STYLE); 
	dwStyle &= ~(LVS_TYPEMASK);
	dwStyle &= ~(LVS_EDITLABELS);
	//设置新风格
	SetWindowLong(m_listctrl.m_hWnd, GWL_STYLE,(dwStyle|LVS_REPORT | LVS_NOLABELWRAP | LVS_SHOWSELALWAYS));
	//设置扩展风格
	DWORD styles = LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES/*|LVS_EX_CHECKBOXES*/;
	ListView_SetExtendedListViewStyle(m_listctrl.m_hWnd, styles);
	//HWND h_wnd = m_listctrl.m_hWnd;
 	//其中LVS_EX_FULLROWSELECT 就是前面说得整行选中
	//LVS_EX_GRIDLINES 网格线(只适用与report风格的listctrl)
	//LVS_EX_CHECKBOXES 前面加个checkbox
	m_listctrl.SetExtendedStyle( m_listctrl.GetExtendedStyle() | LVS_EX_SUBITEMIMAGES);

	CString strCap(_T(""));
	m_listctrl.DeleteAllItems();//清空  
	strCap = "序号";
	m_listctrl.InsertColumn(0,strCap);//添加列  
	m_listctrl.InsertColumn(1,_T("问题"));  
	m_listctrl.InsertColumn(2,_T("回答"));  
	m_listctrl.SetColumnWidth(0, 50);//设置列宽  
	m_listctrl.SetColumnWidth(1, 180);  
	m_listctrl.SetColumnWidth(2, 180);  
	m_listctrl.SetRedraw(FALSE);//防止重绘  

	m_listctrl.SetRedraw(TRUE);//显示  

}
List Control初始化代码,使用VS2010(已安装SP1补丁)编译乱码 ,
sololie 2013-08-12
  • 打赏
  • 举报
回复
肯定不会是vs2010本身的问题,2010就连sp1都出来那么久了,如果真有这问题,这可不算小问题不会存在到现在。俺也不熟悉,你还是贴点代码,等本版的老大妖哥来给你解答吧
shus 2013-08-12
  • 打赏
  • 举报
回复
引用 1 楼 sololie 的回复:
怎么又是vc的问题发到cb版,已经懒得再提醒去CV\MFC版了 我用vs2008试了多字节工程,汉子显示没任何问题。记得从前用vs2010的多字节工程也没乱码问题,vs2012没试过。
额 不好意思 发错板块,对这边不熟 VS2010会有乱码,VS2012没有碰到过
sololie 2013-08-12
  • 打赏
  • 举报
回复
怎么又是vc的问题发到cb版,已经懒得再提醒去CV\MFC版了 我用vs2008试了多字节工程,汉子显示没任何问题。记得从前用vs2010的多字节工程也没乱码问题,vs2012没试过。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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