MFC 学习笔记

控件的总结:

1.CListCtrl

CListCtrl的部分用法及技巧,总结起来大概有十三点技巧:
基本操作、获取选中行的行号、复选框操作、动态设置选中行的字体颜色、设置选中行的背景颜色、禁止拖动表头、让第一列居中显示、设置行高与字体、虚拟列表技术、点击表头时进行归类、向上与向下移动、动态调整大小问题、避免闪烁问题.
(1).CListCtrl的四种样式:

LVS_ICON                      为每个item显示大图标
LVS_SMALLICON                 为每个item显示小图标
LVS_LIST                      显示一列带有小图标的item
LVS_REPORT                    显示item详细资料

(2).CListCtrl的三种扩展样式

LVS_EX_FULLROWSELECT          选中某行时使正行高亮
LVS_EX_GRIDLINES              设置网格线、
LVS_EX_CHECKBOXES             item前生成Ckeckbox控件

SetExtendedStyle(style) 设置扩展样式的函数
GetExtendedStyle(style) 获取扩展样式的函数
(3)CListCtrl插入一列函数:InsertColumn() 一行:InsertItem()

int InsertColumn( int nCol, LPCTSTR lpszColumnHeading, int nFormat, int nWidth, int nSubItem)
这样一看就清楚多了,第几列,名称,对齐方式,宽度(像素点)
m_List.InsertColumn(nSel, "行名称", LVCFMT_LEFT, nWidth);

注意: CListCtrl在显示为Report样式时,主项为第一项,后面紧跟着的为子项。主项和子项的数据写入不同,这将在后面提到。

int InsertItem( int nItem, LPCTSTRlpszItem )
同样的:
list.InsertItem(0,"主数据");

③删除操作
有三个操作函数:

 BOOL DeleteAllItems()  -------删除所有的行
 BOOL DeleteItem(nItem) --------删除某一行
 BOOL DeleteColumn(nCol) -----删除某一列

④获取/设置属性函数
有很多函数了,就不一一介绍了。常用的有

 int GetItemCount() -------- 获取已插入信息的行数
 BOOL SetItemState(int iLink, UINTstate, UINTstateMask ) ---------设置行状态,如高亮显示等

其他的一些更复杂的操作看这篇文章:
关于CListCtrl的总结博客

你可能感兴趣的:(MFC 学习笔记)