MFC ListControl控件用法

MFC ListControl控件用法
开发环境:visual studio 2008
1、新建一个基于对话框的MFC应用程序。在对话框上拖放一个listcontrol控件和一个button控件,给listcontrol控件添加一个名为m_StoreItems的变量。添加button的点击响应函数。
void CDepartmentStoreDlg::OnBnClickedNewitem()
{
// TODO: 在此添加控件通知处理程序代码
srand((unsigned)time(NULL));
TCHAR strNumber[20];//这里不要定义为char或者CString类型,不然后面 lvItem.pszText会报错。
int number1 = rand() % 100;
int number2 = rand() % 100;
wsprintf(strNumber,_T("%d-%d"), number1, number2);
LVITEM lvItem;
lvItem.mask = LVIF_TEXT;
lvItem.iItem = 0;
lvItem.iSubItem = 0;
lvItem.pszText = strNumber;
数字迎新系统
m_StoreItems.InsertItem(&lvItem);
}
运行效果如下,效果相当于listbox控件,就是一个列表,一行一行的:
现在设置为报表视图,显示成表格形式。
在初始化函数里添加:
BOOL CDepartmentStoreDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: 在此添加额外的初始化代码
m_StoreItems.SetView(LVS_REPORT);//如果在属性里面设置了listviewviewreport,这里就没必要了,默认的是icon
LVCOLUMN lvColumn;
lvColumn.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH; //掩码设置了fmt值、显示列标题和指定宽度
lvColumn.fmt = LVCFMT_LEFT; //设置作对其模式
= 120; //设置标题的宽度为120个像素
lvColumn.pszText = _T("Full Name"); //设置标题(列名)
m_StoreItems.InsertColumn(0, &lvColumn); //添加列,索引为包装箱制作0
lvColumn.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH;
lvColumn.fmt = LVCFMT_LEFT;
= 100;
lvColumn.pszText = _T("Profession");
m_StoreItems.InsertColumn(1, &lvColumn);
lvColumn.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH;
lvColumn.fmt = LVCFMT_LEFT;
= 80;
lvColumn.pszText = _T("Fav Sport");
m_StoreItems.InsertColumn(2, &lvColumn);
lvColumn.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH;
firmicuteslvColumn.fmt = LVCFMT_LEFT;
= 75;
lvColumn.pszText = _T("Hobby");
m_StoreItems.InsertColumn(3, &lvColumn);
}
下面给报表添加点实际的内容。
继续在初始化函数里添加:
LVITEM lvItem;
int nItem;
lvItem.mask = LVIF_TEXT;//这里的掩码设置一定要注意,因为itemcolumn的掩码值很像,例如LVIF_TEXT表面清洁度LVCF_TEXT,I对应的itemC对应的column,不然的话会显示不出来的,这个地方害死我了,因为有插件自动补全代码,补全后没注意看,结果没有对应,郁闷了好一会
lvItem.iItem = 0;//行号(索引,从0水化硅酸钙开始),报表相当于二维数组的模式,添加行内容时要指定行号和列号
lvItem.iSubItem = 0;//列号(索引,从0开始)
lvItem.pszText = _T("Sandra C. Anschwitz");//内容
nItem = m_StoreItems.InsertItem(&lvItem);//插入这一行,返回行号(索引)
m_StoreItems.SetItemText(nItem, 1, _T("Singer"));//设置行索引(行号)和列索引(列号)的值
m_StoreItems.SetItemText(nItem, 2, _T("HandBall"));
m_StoreItems.SetItemText(nItem, 3, _T("Beach"));
lvItem.mask = LVIF_TEXT;
lvItem.iItem = 1;
lvItem.iSubItem = 0;
lvItem.pszText = _T("Roger A. Miller");
nItem = m_StoreItems.InsertItem(&lvItem);
m_StoreItems.SetItemText(nItem, 1, _T("Footballer"));
m_StoreItems.SetItemText(nItem, 2, _T("Tennis"));
m_StoreItems.SetItemText(nItem, 3, _T("Teaching"));
蚀刻因子lvItem.mask = LVIF_TEXT;
lvItem.iItem = 2;
lvItem.iSubItem = 0;
lvItem.pszText = _T("Marie-Julie W. Gross");
nItem = m_StoreItems.InsertItem(&lvItem);

本文发布于:2024-09-22 13:41:57,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/162050.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:添加   设置   控件
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议