MFC list control控件的相关函数

http://www.jizhuomi.com/software/197.html

http://baike.baidu.com/link?url=de5C2hOuDAzYzi9wAuXc13Etyd44sDraatg6ZcD91YIMELkIcxi2TB1lQcLGJXLxKXGZjWP0OurEImzoMqSwsUWoU-kFVYjVYITplvI5zvu&qq-pf-to=pcqq.group

 

构造函数

ClistCtrl

构造一个CListCtrl对象。

Create

创建列表控件并将其附加给CListCtrl对象。

属性

GetBkColor

获取列表视图控件的背景色。

SetBkColor

设置列表视图控件的背景色。

 

GetImageList

获取用于绘制列表视图项的图象列表的句柄。

SetImageList

指定一个图象列表到列表视图控件。

 

GetItemCount

int GetItemCount( ) const;

获取列表视图控件中的项的数量。

 

GetItem

获取列表视图项的属性。

 

GetCallbackMask

获取列表视图控件的回调掩码。

SetCallbackMask

设置列表视图控件的回调掩码。

 

GetNextItem

查找指定特性和指定指定项关系的列表视图项。

 

GetFirstSelectedItemPosition

POSITION GetFirstSelectedItemPosition( ) const;

在列表视图控件中获取第一个选择的列表视图项的位置。

GetNextSelectedItem

int GetNextSelectedItem(POSITION& pos) const;

为重复而获取下一个选择的列表视图。

获取由pos指定的列表项的索引,然后将pos设置为下一个位置的POSITION值。

返回值就是pos指定列表项的索引。

 

GetItemRect

获取项的有界矩形。

 

SetItemPosition

在列表视图控件中移动一项到指定位置。

GetItemPosition

获取列表视图项的位置。

 

GetStringWidth

指定需要显示所有指定字符串的最小列宽。

 

GetEditControl

获取用于编辑一个项文本的编辑控件的句柄。

 

GetColumn

获取控件的列的属性。

SetColumn

设置列表视图列的属性。

 

GetColumnWidth

获取报表视图或列表视图中的列的宽度。

SetColumnWidth

改变报表视图或列表视图中的列的宽度。

 

GetCheck

获取与某项相关的状态图象的当前显示状态。

SetCheck

设置与某项相关的状态图象的当前显示状态。

 

GetViewRect

获取列表视图控件中所有项的有界矩形。

 

GetTextColor

获取列表视图控件的文本颜色。

SetTextColor

设置列表视图控件的文本颜色。

 

GetTextBkColor

获取列表视图控件的文本背景色。

SetTextBkColor

设置列表视图控件的文本背景色。

 

GetTopIndex

获取最高级项的索引。

 

GetCountPerPage

计算可正好垂直放入列表视图控件中的项的数目。

 

GetOrigin

获取列表视图控件的最初的当前视图。

 

SetItemState

改变列表视图控件的项的状态。

// 选中 m_list.SetItemState(nIndex,LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED); 

// 取消选中      m_list.SetItemState(nIndex,0, LVIS_SELECTED|LVIS_FOCUSED); 

GetItemState

获取列表视图控件的项的状态。

 

GetItemText

CString GetItemText(int nItem,int nSubItem) const;

获取列表视图项或子项的文本。

参数nItem指定了列表项的索引,参数nSubItem指定了列表子项的索引。 

SetItemText

 BOOL SetItemText(int nItem,int nSubItem,LPCTSTR lpszText);

设置列表视图项或子项的文本。

参数nItemnSubItemGetItemText。如果设置成功则返回TRUE,否则返回FALSE

 

SetItemCount

准备一个列表视图控件以添加大量的项。

 

GetItemData

DWORD_PTR GetItemData(int nItem) const;

获取与某项相关的应用所指定的值。

参数nItem为列表项的索引。返回值就是由nItem指定列表项的附加32位数据。

SetItemData

BOOLSetItemData(int nItem,DWORD_PTR dwData);

设置项的应用指定的值。

参数nItem为列表项的索引,参数dwData为列表项的附加32位数据。

 

GetSelectedCount

UINT GetSelectedCount( ) const;

获取列表视图控件中选择项的数量。

 

SetColumnOrderArray

设置列表视图控件的列序(左或右)。

GetColumnOrderArray

获取列表视图控件的列序(左或右)。

 

SetIconSpacing

设置列表视图控件中的图标的距离。

 

GetHeaderCtrl

获取列表视图控件的标题控件。

得带listctrl列数m_list. GetHeaderCtrl()->GetItemCount();

 

GetHotCursor

获取在热调试对列表视图控件有效时使用的游标。

SetHotCursor

设置在热调试对列表视图控件有效时使用的游标。

 

GetSubItemRect

获取列表视图控件中某项的有界矩形。

 

GetHotItem

获取当前在游标下的列表视图项。

SetHotItem

设置列表视图控件的当前热项。

 

GetSelectionMark

获取列表视图控件的选择屏蔽。

SetSelectionMark

设置列表视图控件的选择屏蔽。

 

GetExtendedStyle

获取列表视图控件的当前扩展风格。

SetExtendedStyle

设置列表视图控件的当前扩展风格。m_list.SetExtendedStyle(LVS_EX_CHECKBOXES); 1添加选项框

 

 

SubItemHitTest

指定哪个列表视图项在指定位置。

 

GetWorkAreas

获取列表视图控件的当前工作区。

 

GetNumberOfWorkAreas

获取列表视图控件的当前工作区数量。

 

SetItemCountEx

设置虚列表视图控件的项的数量。

 

SetWorkAreas

设置列表视图控件中图标可以显示的区域。

 

ApproximateViewRect

指定显示列表视图控件项所需的宽度和高度。

 

GetBkImage

获取列表视图控件的当前背景图象。

SetBkImage

设置列表视图控件的当前背景图象。

 

GetHoverTime

获取列表视图控件的当前逗留时间。

SetHoverTime

设置列表视图控件的当前逗留时间。

操作

InsertItem

 int InsertItem(int nItem,LPCTSTR lpszItem);

在列表视图控件中插入一个新项。

参数nItem为要插入项的索引,参数lpszItem为要插入项的标签字符串。如果插入成功则返回新列表项的索引,否则返回-1

DeleteItem

BOOL DeleteItem(int nItem);

从控件中删除一项。

参数nItem指定了要删除的列表项的索引。删除成功则返回TRUE,否则返回FALSE

 

DeleteAllItems

从控件中删除所有项。

 

FindItem

查找具有指定的字符的列表视图项。

 

SortItems

使用应用定义的比较函数排序列表视图项。

 

HitTest

指定哪个列表视图在指定的位置上。

 

EnsureVisible

保证项是可见的。

 

Scroll

滚动列表视图控件的内容。

 

ReDrawItems

强迫列表视图控件刷新一些项。

 

Update

强迫控件刷新一个指定的项。

 

Arrange

调整一栏里的项。

 

EditLabel

开始项文本该处编辑。

 

InsertColumn

int InsertColumn(int nCol,const LVCOLUMN* pColumn );

int InsertColumn(int nCol,LPCTSTR lpszColumnHeading,int nFormat=

LVCFMT_LEFT,int nWidth = -1,int nSubItem = -1 );

插入列表视图控件中的新列。

第一个函数中,nCol参数为插入列的索引,pColumn参数指向LVCOLUMN结构,其中包含了插入列的属性。第二个函数中,lpszColumnHeading参数为列标题字符串,nFormat参数为列中文本的对齐方式,可以是LVCFMT_LEFTLVCFMT_RIGHTLVCFMT_CENTERnWidth参数为列宽,nSubItem为插入列对应列表子项的索引。

两个函数在成功时都返回新列的索引,失败都返回-1

DeleteColumn

BOOL DeleteColumn(int nCol);

从列表视图控件中删除一列。

参数nCol为删除列的索引。删除成功则返回TRUE,失败返回FALSE

 

CreateDragImage

为指定的项构造一个拖动图象列表。

可覆盖的函数

DrawItem()

当自绘制控件的可视部分改变时被调用。

 

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MFC ListControl控件的颜色可以通过以下方法进行设置: 1. 设置整个ListControl的背景颜色: 可以使用CListCtrl类的SetBkColor()函数来设置ListControl的背景颜色,例如: m_ListCtrl.SetBkColor(RGB(255, 255, 255)); // 设置背景颜色为白色 2. 设置ListControl中某一行或某一列的颜色: 可以使用CListCtrl类的SetItem()函数来设置ListControl中某一行或某一列的颜色,例如: m_ListCtrl.SetItem(, , LVIF_TEXT | LVIF_STATE, _T("第一行第一列"), , , , , LVIS_SELECTED, LVIS_SELECTED); // 设置第一行第一列的文本和选中状态 m_ListCtrl.SetItemText(, 1, _T("第一行第二列")); // 设置第一行第二列的文本 m_ListCtrl.SetItemState(, LVIS_SELECTED, LVIS_SELECTED); // 设置第一行选中状态 m_ListCtrl.SetItemData(, (DWORD_PTR)&m_Data); // 设置第一行的数据 可以在SetItem()函数中设置LVITEM结构体的iItem、iSubItem、pszText、state、stateMask等参数来设置行或列的颜色和状态。 3. 设置ListControl中某一单元格的颜色: 可以使用CListCtrl类的SetCell()函数来设置ListControl中某一单元格的颜色,例如: m_ListCtrl.SetCell(, , RGB(255, , ), RGB(255, 255, 255)); // 设置第一行第一列的前景色为红色,背景色为白色 可以在SetCell()函数中设置行、列、前景色和背景色等参数来设置单元格的颜色。 以上是MFC ListControl控件颜色设置的一些方法,希望能对您有所帮助。 ### 回答2: MFC ListControl 控件是非常常用控件之一,可以用于展示大量数据。在使用 ListControl 控件的过程中,我们可能会遇到需要修改控件颜色的需求。下面就来介绍一下 MFC ListControl 控件的颜色设置方法。 MFC ListControl 控件的颜色可以通过属性编辑器或代码进行设置。在属性编辑器中,我们可以找到相应的属性(如:Background Color、Text Color、Selected Text Color、Selected Background Color 等),并通过改变相应的属性值来修改控件的颜色。同样地,在代码中,我们也可以通过修改相应的控件属性值来实现对控件颜色的修改。例如: // 获取 ListControl 控件指针 CListCtrl* pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST_CONTROL); // 设置控件的背景色 pListCtrl->SetBkColor(RGB(255, 0, 0)); // 设置控件文本颜色 pListCtrl->SetTextColor(RGB(0, 255, 0)); // 设置选中行的背景色和文本颜色 pListCtrl->SetItemState(0, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED); pListCtrl->SetSelectionMark(0); pListCtrl->SetItemState(0, LVIS_SELECTED, LVIS_SELECTED); 以上代码中,通过调用 SetBkColor() 函数和 SetTextColor() 函数分别对控件的背景色和文本颜色进行设置。同时,代码也演示了如何设置选中行的背景色和文本颜色。需要注意的是,当设置控件的颜色时,如果控件已经被创建,需要先调用控件的 RedrawItems() 函数进行重绘操作,否则,新设置的颜色可能不会立即生效。 总之,MFC ListControl 控件是非常强大的控件之一,灵活的颜色设置能够更好地满足各种需求,开发者需要注意控件的颜色设置时需要先重绘才会生效。 ### 回答3: MFC ListControl控件MFC中非常常用控件之一,它可以用于显示列表、图形视图等。在使用ListControl控件时,有时候需要对列表中的某些行或列进行颜色的设置以达到更好的视觉效果。下面我们来了解一下MFC ListControl控件的颜色设置。 MFC ListControl控件的背景颜色是由ListControl的背景色和父窗口的背景色共同决定的。用户可以在资源编辑器中或运行时使用CListCtrl类的SetBackgroundColor()函数来设置ListControl的背景颜色。 MFC ListControl控件的前景颜色是由用户在添加数据时指定的。在使用CListCtrl类的InsertItem()函数添加行的时候,可以指定该行的前景颜色和背景颜色;在使用CListCtrl类的SetItemText()函数设置列的时候,也可以指定该列的前景颜色和背景颜色。 如果需要动态地设置某一行或某一列的颜色,可以使用CListCtrl类的SetItem()函数。例如,设置第一行红色,第二行蓝色,可以用以下代码: ``` m_ListCtrl.SetItem(0, 0, LVIF_TEXT | LVIF_STATE, _T("第一行"), 0, LVIS_SELECTED, LVIS_SELECTED, 0); m_ListCtrl.SetItemText(0, 1, _T("第一列")); m_ListCtrl.SetItemData(0, 100); m_ListCtrl.SetItemState(0, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED); m_ListCtrl.SetItemText(1, 0, _T("第二行")); m_ListCtrl.SetItem(1, 0, LVIF_TEXT | LVIF_STATE, _T("第二行"), 0, LVIS_SELECTED, LVIS_SELECTED, 0); m_ListCtrl.SetItemText(1, 1, _T("第二列")); m_ListCtrl.SetItemData(1, 200); m_ListCtrl.SetItemState(1, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED); m_ListCtrl.SetItemText(2, 0, _T("第三行")); m_ListCtrl.SetItemText(2, 1, _T("第三列")); m_ListCtrl.SetItemText(0, 0, _T("第一行")); m_ListCtrl.SetItemText(0, 1, _T("第一列")); m_ListCtrl.SetItemState(0, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED); m_ListCtrl.SetTextColor(0, RGB(255, 0, 0)); // 设置第1行红色 m_ListCtrl.SetItem(1, 0, LVIF_TEXT | LVIF_STATE, _T("第二行"), 0, LVIS_SELECTED, LVIS_SELECTED, 0); m_ListCtrl.SetItemText(1, 1, _T("第二列")); m_ListCtrl.SetItemState(1, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED); m_ListCtrl.SetTextColor(1, RGB(0, 0, 255)); // 设置第2行蓝色 ``` 除了设置整行或整列的颜色,还可以为不同的单元格设置不同的颜色。可以在添加行时使用LVITEM结构体的iItem、iSubItem、mask、pszText等成员,分别指定行号、列号、要设置的属性和单元格中要显示的文本。在通过CListCtrl类的GetItem()函数获取某一行列时,也可以获得单元格的前景色和背景色等属性信息。 通过上述方法,可以实现对MFC ListControl控件的颜色自定义设置。至于要如何设置出美观的颜色组合,需要根据实际情况和个人喜好来决定。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值