创建列表
- 点击工具箱中的List Control ,拖到对话框中
- 修改列表属性:
- 将控件(一般ID为IDC_LIST1)的View的属性改为改为Report,一般默认为ICON。
- 添加变量:
- 右击列表,选择 添加变量。变量类型(CListCtrl),变量名可以自己设定,此处假设为m_ListCtrl,点击确定。
添加每一列的名称
在对话框对应的类CListCtrlDlg中的OnInitDialog(void)中的CDialog::OnInitDialog();后便可以添加代码如下:
m_ListCtrl.InsertColumn(0, _T("姓名"), LVCFMT_LEFT, 60,-1);
- 结果:
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_LEFT,LVCFMT_RIGHT或LVCFMT_CENTER。
//nWidth 以像素为单位的列宽。如果该参数为-1,那么没有设置列宽。
//nSubItem 与列相关联的子项的索引。如果该参数为-1,那么没有子项与列相关。
添加数据
首先要知道List Control在显示为Report样式时,主项为第一项,后面紧跟着的为子项。主项和子项的数据写入不同,在我们的例子当中姓名就是主项了,而其余的项就都是子项了。
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
)
参数 | 解释 |
---|---|
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。 |
很显然,我们采用的是第二个函数,具有三个参数的函数。
我们这行代码的作用就是,插入主项:王二小,即在第一行第一列姓名中添加了王二小。
那我们要如何插入子项呢?我们继续添加代码如下:
m_ListCtrl.SetItemText(0,1,_T("男"));
函数原型
BOOL SetItemText(int nItem,int nSubItem,LPTSTR lpszText)
//返回值:如果成功,则返回非零值,否则为0。
参数 | 解释 |
---|---|
nItem | 要设定文本项的索引值。 |
nSubItem | 子项的索引,若为零,则设置项标签。 |
lpszText | 指向包含新项文本字符串的指针。 |
说明:改变列表视图项或子项的文本。
一步一步学List Control控件的用法(第一步)----创建第一列
一步一步学List Control控件的用法(第二步)----创建第一行
一步一步学List Control控件的用法(第三步)----设置风格