现在的位置: 首页 > 综合 > 正文

CListCtrl控件使用

2012年08月07日 ⁄ 综合 ⁄ 共 1391字 ⁄ 字号 评论关闭

Windows的控件与对应类的关系:给每个控件关联了一个类,在类中封装相应的控件。ClistCtrl
encapsulates the functionality of a “list view contrl”.list view control
displays 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

 

抱歉!评论已关闭.