ListView listCtrl 不能显示和不能正确添加行数据以及列表题不能显示问题

在MFC MDI应用中使用CListView显示数据时遇到样式设置及多列显示问题。通过检查发现,未正确设置Mask为LVS_REPORT导致。解决方法包括:设置Extended Style为LVS_EX_GRIDLINES和LVS_EX_FULLROWSELECT等,以及正确填充LVCOLUMN结构以插入列。代码示例展示了如何修正这些问题。
摘要由CSDN通过智能技术生成

前段时间在MFC下的MDI模式下用CListView视图类显示数据的时候不能正确的显示自己设定的样式,折腾半天才找到了原因,其实很简单。由于好久没有用MFC了,有点生疏了。呵呵,以下简单说明以下,就当作为一个记录提醒自己吧。

 

我目标:

   设置标题(多列)

   显示栅格线

   可以多行显示

   一次显示一行

不能正确显示我设定的样式,不能正确的添加多列的原因可能是设定的 Mask不正确,至少我是这样。

应该正确设置的Mask为 LVS_REPORT,如果这里不设置默认的是其他格式的。问题就这么简单。

 

以下是部分代码(CListView下的代码):

 

 CListCtrl* lstCtrl = (CListCtrl*)&(this->GetListCtrl());


        DWORD dwExStyle = lstCtrl->GetExtendedStyle();


        dwExStyle |= LVS_EX_GRIDLINES;
        dwExStyle |= LVS_EX_MULTIWORKAREAS;
 
        lstCtrl->ModifyStyle(0, LVS_REPORT);
        lstCtrl->SetExtendedStyle(dwExStyle|LVS_EX_FULLROWSELECT|LVS_EX_INFOTIP );


        int iColumnOrder = 0;
        for(.... ) {
            LVCOLUMNW column

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值