悲催的VS2010CListCtrl控件快疯了。解决思路
悲催的VS2010CListCtrl控件快疯了。。。
以前一直用的VC6.0,现在打算跳到VS2010,结果第一次用就抓狂了
一个基于对话框应用程序,在对话框编辑器里拽一个ListCtrl控件,起名m_list,在OnInitDialog函数中只添加如下语句:

一切正常,但是在VS2010下则是这样的:
对。。。在VS2010下创建的ListCtrl即使列显示不完整也没有水平滚动条。当然它也不是一直没有,拖动改变列大小之后水平滚动条就又出来了。
这个奇葩的问题似乎在告诉我MFC已经被抛弃了。。。。有没有大神帮忙解释一下原因啊。
注:
对话框基类:CDialog
列表控件风格:Report
No Scroll:FALSE
------解决思路----------------------
有内容就正常了
我认为是VC6和VC2010在CListCtrl实现上,对此处理有些差异
或者是忘了改,或者故意改成那样
------解决思路----------------------
按理说同一个系统同一个类不可能会出现这些差异
用 spy++ 看看两者的样式有什么不同
如果没有不同的话就可能是程序的"清单"在搞鬼, 可能引用的 comctl 版本不一样
说到底vc6已经是多少年前的产物了
------解决思路----------------------
SetColumnWidth试试
以前一直用的VC6.0,现在打算跳到VS2010,结果第一次用就抓狂了
一个基于对话框应用程序,在对话框编辑器里拽一个ListCtrl控件,起名m_list,在OnInitDialog函数中只添加如下语句:
m_list.InsertColumn(0, _T("序号"), LVCFMT_LEFT, 50);在VC6.0下测试的结果是这样的:
m_list.InsertColumn(1, _T("文件名"), LVCFMT_LEFT, 120);
m_list.InsertColumn(2, _T("文件路径"), LVCFMT_LEFT, 200);
一切正常,但是在VS2010下则是这样的:
对。。。在VS2010下创建的ListCtrl即使列显示不完整也没有水平滚动条。当然它也不是一直没有,拖动改变列大小之后水平滚动条就又出来了。
这个奇葩的问题似乎在告诉我MFC已经被抛弃了。。。。有没有大神帮忙解释一下原因啊。
注:
对话框基类:CDialog
列表控件风格:Report
No Scroll:FALSE
------解决思路----------------------
有内容就正常了
我认为是VC6和VC2010在CListCtrl实现上,对此处理有些差异
或者是忘了改,或者故意改成那样
------解决思路----------------------
按理说同一个系统同一个类不可能会出现这些差异
用 spy++ 看看两者的样式有什么不同
如果没有不同的话就可能是程序的"清单"在搞鬼, 可能引用的 comctl 版本不一样
说到底vc6已经是多少年前的产物了
------解决思路----------------------
SetColumnWidth试试