列表控件

列表控件可以看作是功能增强的ListBox,它提供了四种风格,而且可以同时显示一列的多中属性值。MFC中使用CListCtrl类来封装列表控件的各种操作。通过调用BOOL Create.创建一个窗口,dwStyle中可以使用以下一些列表控件的专用风格:
LVS_ICON ,LVS_SMALLICON ,LVS_LIST, LVS_REPORT 这四种风格决定控件的外观,同时只可以选择其中一种,分别对应:大图标显示,小图标显示,列表显示,详细报表显示

LVS_EDITLABELS 结点的显示字符可以被,对于报表风格来讲可的只为第一列。

LVS_SHOWSELALWAYS 在失去焦点时也显示当前选中的结点

LVS_SINGLESEL 同时只能选中列表中一项

首先你需要设置列表控件所使用的ImageList,如果你使用大图标显示风格,你就需要以如下形式调用:

CImageList* SetImageList.

如果使用其它三种风格显示而不想显示图标你可以不进行任何设置,否则需要以如下形式调用:

CImageList* SetImageList.

int InsertItem.插入行

nItem:指明插入位置

lpszItem:为显示字符。

除LVS_REPORT风格外其他三种风格都只需要直接调用InsertItem就可以了,但如果使用报表风格就必须先设置列表控件中的列。

int InsertColumn. 插入列iCol:为列的位置,从零开始lpszColumnHeading:为显示的列名nFormat:为显示对齐方式nWidth:为显示宽度nSubItem:为分配给该列的列索引。

BOOL SetItemText.设置每列的显示字符

nItem:为行位置

nSubItem:为列位置

lpszText:为显示字符

下面的代码演示了如何设置多列并插入数据:

m_list.SetImageList.//设置ImageList

m_list.InsertColumn.//设置列

m_list.InsertColumn.

m_list.InsertColumn.

m_list.InsertItem.//插入行

m_list.SetItemText.//设置该行的不同列的显示字符

m_list.SetItemText

COLORREF GetTextColor/BOOL SetTextColor:用于得到/设置显示的字符颜色。

COLORREF GetTextBkColor/BOOL SetTextBkColor:用于得到/设置显示的背景颜色。

void SetItemCount:用于得到添加进列表中项的数量。

BOOL DeleteItem:用于删除某一项

BOOL DeleteAllItems:将删除所有项。

BOOL SetBkImage:用于设置背景位图。

CString GetItemText:用于得到某项的显示字符。

列表控件的消息映射同样使用ON_NOTIFY宏,形式如同:ON_NOTIFY,wNotifyCode为通知代码,id为产生该消息的窗口ID,memberFxn为处理函数,函数的原型如同void OnXXXList,其中pNMHDR为一数据结构,在具体使用时需要转换成其他类型的结构。对于列表控件可能取值和对应的数据结构为:

LVN_BEGINLABELEDIT 在开始某项字符时发送,所用结构:

NMLVDISPINFO

LVN_ENDLABELEDIT 在结束某项字符时发送,所用结构:

NMLVDISPINFO

LVN_GETDISPINFO 在需要得到某项时发送,(如得到某项的显示字符)所用结构:NMLVDISPINFO

关于ON_NOTIFY有很多内容,将在以后的内容中进行详细讲解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值