当前位置: 代码迷 >> VC/MFC >> 关于list control 表头的有关问题
  详细解决方案

关于list control 表头的有关问题

热度:131   发布时间:2016-05-02 03:36:19.0
关于list control 表头的问题?
本帖最后由 VisualEleven 于 2015-09-30 15:18:17 编辑
m_lstOutData.SetExtendedStyle(	LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
m_lstOutData.InsertColumn(0,_T("书名"),LVCFMT_LEFT,100);
m_lstOutData.InsertColumn(1,_T("作者"),LVCFMT_LEFT,100);
m_lstOutData.InsertColumn(2,_T("出版社"),LVCFMT_LEFT,80);


这样的的对list 设置表头  而在项目属性为Unicode 时如图


而在多字符集是如图


为什么会有这样的差别呢 

如何在多字符集是和Unicode 的一样呢
------解决思路----------------------
没办法,不仅listctrl,包括按钮等效果都不一样,所以建议使用Unicode
------解决思路----------------------
http://bbs.csdn.net/topics/380256729
------解决思路----------------------
真正的问题在stdafx.h里,VS自动生成的stdafx.h有这么一段代码
#ifdef _UNICODE
#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_IA64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
#endif

相信大家看了就明白了,只有Unicode工程才加Windows 6.0控件风格。
你把这些代码全删了,只保留这一行,自然什么工程都OK
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
  相关解决方案