解决MFC下CListCtrl常见问题

本文总结了在MFC后端开发中使用CListCtrl控件遇到的问题,包括如何设置报表格式、取消默认降序排序、如何实现文字居中显示以及在插入数据时遇到的列居中问题。通过设置显示风格和正确插入数据,成功实现了控件的预期效果。

                                       后端开发过程遇到的问题总结(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列没有居中,解决方法为从第一列开始插,这样可以全部居中!

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值