一步一步学List Control控件的用法(第二步)----创建第一行-阿里云开发者社区

开发者社区> snsn1984> 正文

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

简介: 第二步  创建第一行   1、  在上一节中我们创建了一个列,那我们可以按照同样的方法多创建几个列。在      m_ListCtrl.InsertColumn(0, _T("姓名"), LVCFMT_LEFT, 90);      代码后边添入下列三行代码:          m_ListCtrl.
+关注继续查看

第二步  创建第一行

 

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、同样,我们可以采取同样的方法,创建添加多行数据。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java容器类List、ArrayList、Vector及map、HashTable、HashMap的区别与用法
Java容器类List、ArrayList、Vector及map、HashTable、HashMap的区别与用法 ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元...
789 0
缓存服务器syns to listen sockets drop导致创建socket失败
问题描述: 最近遇到了一个syn丢包的情况,当系统磁盘、网络、cpu都无压力的时候,系统莫名其妙出现“sync to listen sockets drop”问题;无论带宽是10M还是8G,都会出现这种这种情况。
1664 0
Visual Studio 2015中创建C#的Android项目提示"Value cannot be null"的解决方法
原文:Visual Studio 2015中创建C#的Android项目提示"Value cannot be null"的解决方法 选择C# > Android创建一个Blank App时提示如下错误: Value cannot be null. Parameter name: path1 由于之前本机已安装过Android SDK,在安装Visual Studio 2015时跳过了,并没有为Xamarin指定对应路径导致。
926 0
创建控制文件副本出现错误ORA-00205: error in identifying control file
测试环境:OEL6.5+Oracle 11g R2     在做多路复用控制文件的实验时,创建控制文件总是会报错误:ORA-00205: error in identifying control file, check alert log for more info...
1393 0
Java集合详解1:一文读懂ArrayList,Vector与Stack使用方法和实现原理
本文非常详尽地介绍了Java中的三个集合类ArrayList,Vector与Stack 《Java集合详解系列》是我在完成夯实Java基础篇的系列博客后准备开始写的新系列。 这些文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star、fork哈 文章首发于我的个人博客: www.how2playlife.com //一般讨论集合类无非就是。
4436 0
【Web API系列教程】3.7 — 实战:处理数据(创建UI视图)
在本节,你将开始为app定义HTML,并在HTML和视图模型间添加数据绑定。 打开Views/Home/Index.cshtml文件。
621 0
+关注
snsn1984
多年研发和团队管理经验,熟悉LLVM、GPU等技术领域,具备公司层面技术管理能力。
195
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载