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

开发者社区> snsn1984> 正文

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

简介:   第一步:创建一个列 注:开发平台为VS2008.NET。   1、  创建一个MFC应用程序,选择基于对话框的。 具体步骤如下:文件à新建à项目àVisual C++àMFCàMFC应用程序,在下方名称中输入你自己想要建立的项目名,此处为ListCtrl。
+关注继续查看

 

第一步:创建一个列

注:开发平台为VS2008.NET。

 

1、  创建一个MFC应用程序,选择基于对话框的。

具体步骤如下:文件à新建à项目àVisual C++àMFCàMFC应用程序,在下方名称中输入你自己想要建立的项目名,此处为ListCtrl

MFC应用程序向导中选择引用程序类型,然后在窗口右边应用程序类型中选择基于对话框,然后选择完成。

2、  进入项目,可以直接看到建立好的一个对话框,将对话框中部的“TODO:在此放置对话框删除”。

3、  从工具箱中拖一个List Contrrol到对话框上,调节大小到自己满意的状态。

4、  将控件(一般IDIDC_LIST1)的View的属性改为改为Report,一般默认为ICON

5、  使用Ctrl+左键双击,打开添加成员变量向导,选择控件变量,控件ID为上一步添加的的List ControlID(默认为IDC_LIST1),设置访问权限(一般为public),变量类型(CListCtrl,变量名可以自己设定,此处假设为m_ListCtrl,点击确定。由此可以发现在你的对话框对应的类中多了一个变量。对话框对应的类名为CXXXXDlgXXX为你的工程名,此处为CListCtrlDlg

6、  在对话框对应的类CListCtrlDlg中的OnInitDialog(void)中的CDialog::OnInitDialog();后便可以添加代码如下:

m_ListCtrl.InsertColumn(0, _T("姓名"), LVCFMT_LEFT, 60-1);

7、  F5调试程序,你可以发现如下的窗口:

   截图

 

 

8、  此处由于是在WINDOWS7的系统上的结果,所以可能跟XP下面的视觉效果有点不同。而且大家可以发现,姓名这一栏的宽度是可以调整的。

9、  下面我们来看下刚才加进去的那一行代码:

m_ListCtrl.InsertColumn(0, _T("姓名"), LVCFMT_LEFT, 60-1);

 

m_ListCtrl就是我们刚刚加入的成员变量,也即是个CListCtrl类的变量,其实也可以理解为ClistCtrl类的一个对象;

 

InsertColumn();其实为ClistCtrl类的成员函数,具体内容如下:

CListCtrl::InsertColumn
int InsertColumn(int nCol,const LVCOLUMN* pColumn)
int InsertColumn(int nCol,
                 LPCTSTR lpszColumnHeading,
                 int nFormat = LVCFMT_LEFT,
                 int nWidth = -1,
                 int nSubItem = -1
                )
返回值:如果成功,则返回新建列的索引值,否则为-1

参数:

nCol

新建列的索引值。

pColumn

包含新建列属性的LVCOLUMN结构的地址。

lpszcolumnHeading

包含列标题的字符串的地址。

nFormat

指定列对齐方式的整数。它为下列值之一:LVCFMT_LEFTLVCFMT_RIGHTLVCFMT_CENTER

nWidth

以像素为单位的列宽。如果该参数为-1,那么没有设置列宽。

nSubItem

与列相关联的子项的索引。如果该参数为-1,那么没有子项与列相关。

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

10、              其实在

int InsertColumn(int nCol,
                 LPCTSTR lpszColumnHeading,
                 int nFormat = LVCFMT_LEFT,
                 int nWidth = -1,
                 int nSubItem = -1
                )
中,可以直接传递给函数四个值,最后一个值不用管,也可以达到同样的效果。

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

相关文章
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,都会出现这种这种情况。
1665 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
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
SharePoint自动化系列——通过PowerShell创建SharePoint Lists
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 代码如下(保存到本地ps1文件中,右键run with PowerShell即可): Add-PSSnapin microsoft.
637 0
+关注
snsn1984
多年研发和团队管理经验,熟悉LLVM、GPU等技术领域,具备公司层面技术管理能力。
195
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载