ListCtrl控件的使用

list contrl控件的使用
1.建立基于对话框的应用程序,布置界面,设置属性。 

 注意添加的是listctrl控件,不是listbox控件,在控件工具箱的倒数第五行list control控件。
属性中设置styles标签中的查看属性为report,是一个多列列表显示。 2.设置控件变量
给列表控件添加一个CListCtrl类型的控件变量m_listctrl。 3. 设置列表控件的初始显示状态
 在对话框的初始化函数中添加下列代码。
//在列表控件中添加五列,并设置每列的标题

 //其中第一个参数为列号,第二个参数为列标题
m_listctrl.InsertColumn(0,"学号");
 m_listctrl.InsertColumn(1,"姓名");
m_listctrl.InsertColumn(2,"性别");
m_listctrl.InsertColumn(3,"出生日期");
m_listctrl.InsertColumn(4,"专业");
//下面设置每列的宽度
 RECT r;
//定义一个矩形结构变量
 m_listctrl.GetWindowRect(&r);//获取当前列表控件外观矩形,放在变量r中
int w=r.right-r.left;
//求得列表框的宽度放在变量w中
 //下面设置每列的宽度,第一个参数表示列号,第二个参数是当前列列宽
m_listctrl.SetColumnWidth(0,w/5);
m_listctrl.SetColumnWidth(1,w/5);
m_listctrl.SetColumnWidth(2,w/5);
m_listctrl.SetColumnWidth(3,w/5);
m_listctrl.SetColumnWidth(4,w/5);
 //下面从外在本工程文件夹下的studen.txt文件中读取所需要的记录信息


 ifstream in("student.txt");
char buf[10];
int i=0;
while(!in.eof())
{
//将读取到的信息放到列表中显示
//先往列表中插入一行,第一个参数表示插入行的行号
m_listctrl.InsertItem(i,"");
in>>buf;
//读入第一项放在buf字符数组中
m_listctrl.SetItemText(i,0,buf);//显示在当前行的第0列
in>>buf; //读入下一项放在buf字符数组中
m_listctrl.SetItemText(i,1,buf);//显示在当前行的第1列
in>>buf;
m_listctrl.SetItemText(i,2,buf);
in>>buf;
m_listctrl.SetItemText(i,3,buf);
in>>buf;
m_listctrl.SetItemText(i,4,buf);
i++;
}
原文地址:https://www.cnblogs.com/CoolSummer/p/3214688.html