CListCtrl控件使用

Windows的控件与对应类的关系:给每个控件关联了一个类,在类中封装相应的控件。ClistCtrl encapsulates the functionality of a “list view contrl”.list view controldisplays a collection of items each consisting of an icon(from an image list)and a label.

         创建:①拖拉控件的方式,相当于创建了一个ClistCtrl对象。②动态创建:构造ClistCtrl对象,其方式如图GDI的创建一样,先构造类对象,再创建list view control。在此可做个推断,所有和windows对象关联的类创建对象时都需要两步,先构造类对象,再创建windows对象将其关联起来。对GDI使用完后需销毁GDI对象,而list view control不用销毁。

列表视图控件可用四种不同方式显示其内容,称为视图IconSmall iconListReport。直观的理解:windows资源管理器,查看标签下的大图标,小图标,列表,详细资料。实际使用一般都是reportHow:设置其view属性或代码设置其style

改变styleClistCtrl创建后可在任何时刻改变它的styleHow:①SetViewGetWindowLong获得控件当前格式,然后SetWindowLong设置控件格式。

         区分三个单词ColumnItemSubItemcolumn指列;item指行;subitem指子行,与item配合实用,即第item行第subitem列。要增加数据有两种方式:①一次插入一行或一列,再设置其值。②直接SetColumnWidthSetItemCount插入n个行或列,再设置其值。

一直选中Item,即让选中行一直高亮显示,两种方式:①设属性Always show selectTRUE②添加扩展样式LVS_SHOWSELALWAYS。区别:①方式选中一行,再执行别的操作,该选中行的底色会变成暗灰色,更实用。②方式会一直以深蓝色显示。

得到单击的ClistCtrl的行列号:添加控件的NM_CLICK消息相应函数:

     NM_LISTVIEW* pNMListView=(NM_LISTVIEW*)pNMHDR;

     if(pNMListView->iItem!=-1)

     {

         CString strtemp;

         strtemp.Format(_T("单击的是第%d行第%d列"),

              pNMListView->iItem, pNMListView->iSubItem);

         AfxMessageBox(strtemp);

     }

*pResult = 0;

进行大数据量更新时,避免闪烁

m_ListCtrl.SetRedraw(FALSE);
//
更新内容
m_ListCtrl.SetRedraw(TRUE);
m_ListCtrl.Invalidate();
m_ListCtrl.UpdateWindow();

关于:一般在CListCtrl中,每列只能显示260个字符,多一个都会被截掉,但是取出来的数据却是正确的和可编辑子项的CListCtrl

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值