VC++ 列表控件的使用方法

列表控件可以看作是功能增强的ListBox,它提供了四种风格,而且可以同时显示一列的多中属性值。
MFC中使用CListCtrl类来封装列表控件的各种操作。

通过调用BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些列表控件的专用风格:

LVS_ICON LVS_SMALLICON LVS_LIST LVS_REPORT 这四种风格决定控件的外观,同时只可以选择其中一种,分别对应:大图标显示,小图标显示,列表显示,详细报表显示

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

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

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

 

为了演示,我新建一个工程

打开,文件,新建

 

选择MFC APP,工程名字任选,但是必须是英文,文件位置自选

 

点下一步,选择基于对话框的模式,直接点完成

 

点击列表控件,然后在对话框里画一下范围,即可画出列表控件

 

右键点列表控件,点属性

 

在常规里,修改一下控件ID,可以自己命名

 

在样式标签里选择报告模式,其他默认

 

按ctrl+w 键,呼出类向导,选择CTestDlg,这是建工程时候的名字,自己命名的,未必和我一样,选择Member Variable标签

 

点一下IDC_LIST_INFO,也是自己命名的,可能和我的不一样,点击Add Variable

 

自己起个名字,m_XXX,如图

点击OK

 

点击Message Map 选项卡,首先选择cTestDlg ,图1

在Message 列表里选择INITDIALOG

 

之后点击右侧Edit code

 

程序会自动定位到代码位置,

在代码最后一个 } 号上面写入代码

m_listAll.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);

 

   m_listAll.InsertColumn(0,"序号",LVCFMT_CENTER);

   m_listAll.InsertColumn(1,"列名1",LVCFMT_CENTER);

   m_listAll.InsertColumn(2,"列名2",LVCFMT_CENTER);

   m_listAll.InsertColumn(3,"列名3",LVCFMT_CENTER);

   

m_listAll.SetColumnWidth(0,50);

   m_listAll.SetColumnWidth(1,80);

   m_listAll.SetColumnWidth(2,85);

   m_listAll.SetColumnWidth(3,90);

如图:

 

这样就完成了初始化,点击红色的叹号,编译并允许一下,如图:

下一节讲如何插入数据。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。