列表控件可以看作是功能增强的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 同时只能选中列表中一项



VC redist有哪些DLL_结点

 



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

打开,文件,新建



VC redist有哪些DLL_结点_02

 



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



VC redist有哪些DLL_列表控件_03

 



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



VC redist有哪些DLL_结点_04

 



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



VC redist有哪些DLL_列表控件_05



VC redist有哪些DLL_结点_06

 



右键点列表控件,点属性



VC redist有哪些DLL_VC redist有哪些DLL_07

 



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



VC redist有哪些DLL_控件_08

 



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



VC redist有哪些DLL_VC redist有哪些DLL_09

 



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



VC redist有哪些DLL_列表控件_10

 



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



VC redist有哪些DLL_结点_11

 



自己起个名字,m_XXX,如图

点击OK



VC redist有哪些DLL_控件_12

 



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

在Message 列表里选择INITDIALOG



VC redist有哪些DLL_VC redist有哪些DLL_13



VC redist有哪些DLL_控件_14

 



之后点击右侧Edit code



VC redist有哪些DLL_VC redist有哪些DLL_15

 



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

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

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);

如图:



VC redist有哪些DLL_控件_16

 



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

下一节讲如何插入数据。



VC redist有哪些DLL_控件_17