MFC中的列表控件CListCtrl

在使用CListCtrl控件Report显示风格时,需要设置列标题信息,否则不能向控件中添加数据信息,编辑列标题需要

使用InsertColumn方法:
    m_ListCtrl.InsertColumn(0, "姓名", LVCFMT_LEFT, 150, 0);
    m_ListCtrl.InsertColumn(1, "联系电话", LVCFMT_LEFT, 150, 1);


为CListCtrl控件添加行:
    在CListCtrl控件中添加信息时不能直接向控件中添加列信息,需要先为控件添加行,使用InsertItem方法:
    m_ListCtrl.InsertItem(0, "");


为CListCtrl控件添加数据:
    通过SetItemText方法可以为任意行的任意列添加数据:
    m_ListCtrl.SetItemText(0, 0, "Name");
    m_ListCtrl.SetItemText(0, 1, "123456");


设置CListCtrl控件的扩展风格:
    使用SetExtendedStyle函数可以设置CListCtrl控件的扩展风格,如显示方式,画出网格线等:
    m_ListCtrl.SetExtendedStyle(
          LVS_EX_FLATSB    // 扁平风格滚动
        | LVS_EX_FULLROWSELECT    // 允许正航选中
        | LVS_EX_HEADERDRAGDROP    // 允许标题拖拽
        | LVS_EX_ONECLICKACTIVEATE    // 高亮显示
        | LVS_EX_GRIDLINES    // 画出网格线
        );

单击CListCtrl控件列标题进行排序:
    在使用CListCtrl控件的Report显示风格时,要实现单击列标题进行排序需要在控件的LVN_COLUMNCLICK消息的处理函数中添加SortItem函数:
   

// Sort the item in reverse alphabetical order.
static int CALLBACK
MyCompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
   // lParamSort contains a pointer to the list view control.
   // The lParam of an item is just its index.
   CListCtrl* pListCtrl = (CListCtrl*) lParamSort;
   CString     strItem1 = pListCtrl->GetItemText(lParam1, 0);
   CString     strItem2 = pListCtrl->GetItemText(lParam2, 0);

   return strcmp(strItem2, strItem1);
}

void snip_CListCtrl_SortItems()
{
   // The pointer to my list view control.
   extern CListCtrl* pmyListCtrl;

   // Sort the list view items using my callback procedure.
   pmyListCtrl->SortItems(MyCompareProc, (LPARAM) pmyListCtrl);
}

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值