后端开发过程遇到的问题总结(2)
在一个对话框下设置了一个CListCtrl控件,首先设置格式为报表,如图:

控件默认sort方式为降序,我们将其设置为None,如图:

然后添加这个控件的对象m_list,对其进行初始化。首先遇到了一个问题,如何插入多列以及如何进行文字居中显示,最后找到如下方法:
首先设置额外的显示风格:
//LVS_EX_GRIDLINES 绘制表格
//LVS_EX_FULLROWSELECT 选择整行
m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
插入四列:
m_list.InsertColumn(0, _T("编号"), LVCFMT_CENTER, 60, 0);
m_list.InsertColumn(1, _T("书名"), LVCFMT_CENTER, 160, 0);
m_list.InsertColumn(2, _T("时间(天)"), LVCFMT_CENTER, 80, 0);
m_list.InsertColumn(3, _T("备注"), LVCFMT_CENTER, 70, 0);
其中LVCFMT_CENTER设置居中。
最后插入数据进行测试:
m_list.InsertItem(0, _T("1"));
m_list.SetItemText(0, 1, _T("读者"));
m_list.SetItemText(0, 2, _T("56"));
m_list.SetItemText(0, 3, _T("56"));
注意第一列和其他列的插入方式的不同!!!
最后结果:

最后结果会发现第0列没有居中,解决方法为从第一列开始插,这样可以全部居中!
本文总结了在MFC后端开发中使用CListCtrl控件遇到的问题,包括如何设置报表格式、取消默认降序排序、如何实现文字居中显示以及在插入数据时遇到的列居中问题。通过设置显示风格和正确插入数据,成功实现了控件的预期效果。
2568





