`
yangshen998
  • 浏览: 1244420 次
文章分类
社区版块
存档分类
最新评论

一步一步学List Control控件的用法(第二步)----创建第一行

 
阅读更多

第二步 创建第一行

1、 在上一节中我们创建了一个列,那我们可以按照同样的方法多创建几个列。在

m_ListCtrl.InsertColumn(0, _T("姓名"), LVCFMT_LEFT, 90);

代码后边添入下列三行代码:

m_ListCtrl.InsertColumn(1,_T("性别"),LVCFMT_LEFT,40);

m_ListCtrl.InsertColumn(2,_T("联系方式"),LVCFMT_LEFT,160);

m_ListCtrl.InsertColumn(3,_T("备注"),LVCFMT_LEFT,180);

大家可以发现,只有第一个参数和最后一个参数不同,这两个参数的作用在上一节我们也介绍过了。第一个参数是新建列的索引值,是从0开始的,也就是说第一列的索引值是0,第二列的索引值是1,第三列的索引值是2,以此类推,是不是很像数组的下表啊?

2、 大家可以运行下看看结果,会出现4个列,列名分别为:姓名,性别,联系方式,备注。

3、 既然我们已经创建好了列,那我们来创建行吧。

4、 首先要知道List Control在显示为Report样式时,主项为第一项,后面紧跟着的为子项。主项和子项的数据写入不同,这将在后面提到。所以说,在我们的例子当中姓名就是主项了,而其余的项就都是子项了。

5、 在我们刚才添加的代码后边继续添加代码:

m_ListCtrl.InsertItem(0,_T("王二小"));

这里我们来看下这个函数的定义:

int InsertItem(const LVITEM* pItem)
int InsertItem(int nItem,LPCTSTR lpszItem)
int InsertItem(int nItem, LPCTSTR lpszItem,int nImage)
int InsertItem(UINT nMask,
int nItem,
LPCTSTR lpszItem,
UINT nState,
UINT nStateMask,
int nImage,
LPARAM lParam
)

返回值:

如果成功,则返回新建列的索引值,否则为-1

参数:

pItem

指向指定项属性LVITEM结构的指针,如联机文档平台SDK”中所述。

nItem

被插入项的索引值。

lpszItem

包含项标签的字符串的地址,或当项为回调项时,该变量为LPSTR_TEXT CALLBACK。要了解更多有关回调项的信息,请参阅CListCtrl::GetCall backMask.

nImage

项图象的索引值,或当项为回调项时,该变量为I_IMAGECALLBACK。要了解更多有关回调项的信息,请参阅CListCtrl::GetCallbackMask

nMask

参数nMask指定了哪个项属性作为参数传递是有效的。它可以是联机文档平台SDK” LVITEM结构所描述的一个或多个掩码值。有效的数据能够通过位与运算来组合。

nState

指示项的状态、状态图象及轮廓图象。请参阅联机文档平台SDK”中的LVITEM来获取更多信息,并参阅有效标志列表中的列表视图项状态。

nStateMask

指示状态成员中的哪一位将被获取或修改。请参阅联机文档平台SDK”中的LVITEM来获取更多信息。

nImage

图象列表之内项的图象的索引。

lParam

与项相关联的应用指定的32位值。如果该参数被指定,那么必须设置nMask的属性为LVIF_PARAM


说明:向列表视图控件中新插入一项。

很显然,我们采用的是第二个函数,具有三个参数的函数。

6、 我们这行代码的作用就是,插入主项:王二小,即在第一行第一列姓名中添加了王二小。

7、 那我们要如何插入子项呢?我们继续添加代码如下:

m_ListCtrl.SetItemText(0,1,_T(""));

我们先来看下这个函数的定义:

BOOL SetItemText(int nItem,int nSubItem,LPTSTR lpszText)
返回值:如果成功,则返回非零值,否则为0

参数:

nItem

要设定文本项的索引值。

nSubItem

子项的索引,若为零,则设置项标签。

lpszText

指向包含新项文本字符串的指针。

说明:改变列表视图项或子项的文本。

这个就很好理解了,参数很少,这个就是为了添加子项。由于是子项,需要确定添加的位置,所以肯定需要二维的坐标来确定自己的位置,所以需要两个索引。类似于二维数组的下标。在我们的函数参数中,01,表示第1行第2列,而男就是要添加的内容了。

8、 我们按照这个方法继续添加代码如下:

m_ListCtrl.SetItemText(0,2,_T("15888888888"));

m_ListCtrl.SetItemText(0,3,_T("儿童团"));

9、 调试程序,我们将可以看到具有完整的一行数据的结果。如下图:

第一行

10、同样,我们可以采取同样的方法,创建添加多行数据。

分享到:
评论

相关推荐

    VC++6[1].0入门【第七章_windows标准控件】.doc

    在前一章,已经学习了在一个对话框中增加控件,用户通过对话框中的控件与应用程序进行交互的方法,在这一章,主要详细讨论不同Windows标准控件的使用特性,你将学会静态控件、按钮控件、编辑框控件、列表框控件、...

    ASP.NET 控件的使用

    第2章 使用标准控件 38 2.1 显示信息 38 2.1.1 使用Label控件 38 2.1.2 使用Literal控件 42 2.2 接收用户输入 44 2.2.1 使用TextBox控件 44 2.2.2 使用CheckBox控件 50 2.2.3 使用RadioButton控件 52 2.3 提交表单...

    ASP.NET.4揭秘

    第2章 使用标准控件41 2.1 显示信息41 2.1.1 使用label控件41 2.1.2 使用literal控件45 2.2 接收用户输入48 2.2.1 使用textbox控件48 2.2.2 使用checkbox控件54 2.2.3 使用radiobutton控件57 2.3 提交表单数据60 ...

    C++MFC教程

    |------ 4.F 关于WM_NOTIFY的使用方法 +-- 第五章 对话框 |------ 5.1 使用资源编辑器编辑对话框 |------ 5.2 创建有模式对话框 |------ 5.3 创建无模式对话框 |------ 5.4 在对话框中进行消息映射 |------ 5.5 在...

    vc++ 开发实例源码包

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    C# 3.0完全自学宝典 (F)

    UseControl 演示WPF窗体应用程序中控件使用实例 UseWPFWindow 演示WPF窗体应用程序中窗体使用实例 WPFBroseApp 演示第一个WPF浏览器应用程序实例 FileViewer 演示文件查看器WPF窗体应用程序实例 第10章(\ch10...

    asp.net知识库

    ASP.NET 2.0使用Web Part创建应用程序之二(共二) 体验 .net2.0 的优雅(2) -- ASP.net 主题和皮肤 NET2.0系列介绍(一).NET 2.0 中Web 应用程序主题的切换 ASP.NET 2.0 中Web 应用程序主题的切换 2.0正式版中...

    2.ASP.NET.2.0.高级编程(第4版) [1/7]

    第2章 Visual Studio 2005 19 2.1 启动页面 19 2.2 文档窗口 20 2.2.1 文档窗口中的视图 20 2.2.2 标记导航器 21 .2.2.3 页面标签 22 2.2.4 代码改变状态的通知 23 2.2.5 错误通知和辅助 23 2.3 工具箱 25 ...

    PT80-NEAT开发指南v1.1

    第一章 关于本手册........................................................................................................................................ 1 简介 ..........................................

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    第一部分 核心概念 第1章 ASP.NET简介 1.1 ASP.NET的7大要点 1.1.1 要点1:ASP.NET是同.NETFramework集成在一起的 1.1.2 要点2:ASP.NET是编译执行的,而不是解释执行的 1.1.3 要点3:ASP.NET支持多语言 ...

    ASP.NET4高级程序设计(第4版) 3/3

    第一部分 核心概念 第1章 ASP.NET简介 2 1.1 ASP.NET的7大要点 2 1.1.1 要点1:ASP.NET是同.NETFramework集成在一起的 2 1.1.2 要点2:ASP.NET是编译执行的,而不是解释执行的 3 1.1.3 要点3:ASP.NET...

    ASP.NET2.0高级编程(第4版)1/6

    第2章 Visual Studio 200519 2.1 启动页面19 2.2 文档窗口20 2.2.1 文档窗口中的视图20 2.2.2 标记导航器21 2.2.3 页面标签22 2.2.4 代码改变状态的通知23 2.2.5 错误通知和辅助23 2.3 工具箱25 2.4 Solution ...

Global site tag (gtag.js) - Google Analytics