使用List Ctrl (一)(原文见codeproject)

最近上网无事可做,于是想翻译一下codeproject上的文章,一来自已学习一下,二来方便大家
本篇文章的原文请见http://www.codeproject.com/listctrl/listctrldemo.asp,如翻译的不好请大家见谅

程序的效果图如下:


示例程序如下:
http://www.codeproject.com/listctrl/ListCtrlDemo/ListCtrlDemo.zip(请先登陆)

介绍

本文介绍MFC中的CListCtrl类,这篇文章包话CListCtrl的如下方面:
  1.在你的对话框中填加一个CListCtrl
  2.为CListCtrl填加成员变量
  3.插入列(Inserting columns)
  4.使用图片
  5.插入项(Inserting items)
  6.使用数据项(Using item data )
  7.选择项
  8.决定哪项被选中(Determining which items have been selected)
  9.获得项信息(Getting item information)
  10.处理CListCtrl消息

还包括一些高级话题:
1.使用选中标记(Using check marks)
2.使用背景图片
3.使用信息贴(Using Info Tips )
4.使用热光标(Using Hot Cursors )
5.关于扩展样式

本文假设你熟悉VC6++,并且能使用工作区(Workspace )窗口和类向导(classwizard)来进行操作.然后在对话

框子结点(in the Dialog child node)选择你的对框话,让他显示在屏幕的右手边,在浮动工具栏中选择一个

list control插入到你的对话框中,并调正好大小。如下图

类向导会自动为新的控件添加一个ID,例如 IDC_LIST1,如果想改变默认的ID,右键单击控件,选择属性

(Properties)来改变ID,如改为IDC_LIST_CTRL.

至此你就在对话框中添加了一个list,但你现在还没有方法控制它的动作,下一步就是为CListCtrl添加成员变

量。

为CListCtrl添加成员变量

为了把一个CListCtrl关联到对像,你需要创建一个ClistCtrl成员变量并使用MFC的对话框数据交换宏

(DDX_Control(CDataExchange*,int, CWnd&))来把窗口对像绑定到你的本地变量。虽然你可以手动来完成这

一切,但为什么不使用现成的工具类向导(ClassWizard)呢?

想要为你的list控件产生一个成员变量,比方说m_cListCtrl(ID是IDC_LIST_CTRL),通过Ctrl+W调出类向导

,选择成员变量(Member Variables)这一页,并选择Control ID为IDC_LIST_CTRL。当这些是高亮

(highlighted)时,点击添加变量(Add Variable)按扭并为新控件输入变量名。

一旦你按下OK,m_cListCtrl成员变量会添加到人自已建的对话框类中。

CListCtrl样式

list控件提供了四种不同的视图模式,这几种模式即可以在list的属性中改变,也可以在运行时改变。例子程序ListCtrlDemo在改变页时改变视图样式。
四种模式如下:
LVS_ICON:在控件中的每项都显示大图标
LVS_SMALLICON:在控件中的每项都显示小图标
LVS_LIST:在控件中的每项用小图标显示一个项的列表
LVS_REPORT:显示项的详细信息以便使扩展的项信息能够看到
如果你想建立一个像windows资源管理器中的详细信息(点击资源管理器的查看项中的详细信息)那样的视图,则要选择LVS_REPORT样式,一但你选择了这个样式,你要做的第一步就是建立列(columns)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值