list contrl控件的使用
.建立基于对话框的应用程序,布置界面,设置属性。 注意添加的是listctrl控件,不是listbox控件,在控件工具箱的倒数第五行list control控件。
属性中设置styles标签中的查看属性为report,是一个多列列表显示。 .设置控件变量
给列表控件添加一个CListCtrl类型的控件变量m_listctrl。 . 设置列表控件的初始显示状态
在对话框的初始化函数中添加下列代码。
//在列表控件中添加五列,并设置每列的标题 //其中第一个参数为列号,第二个参数为列标题
m_listctrl.InsertColumn(,"学号");
m_listctrl.InsertColumn(,"姓名");
m_listctrl.InsertColumn(,"性别");
m_listctrl.InsertColumn(,"出生日期");
m_listctrl.InsertColumn(,"专业");
//下面设置每列的宽度
RECT r;
//定义一个矩形结构变量
m_listctrl.GetWindowRect(&r);//获取当前列表控件外观矩形,放在变量r中
int w=r.right-r.left;
//求得列表框的宽度放在变量w中
//下面设置每列的宽度,第一个参数表示列号,第二个参数是当前列列宽
m_listctrl.SetColumnWidth(,w/);
m_listctrl.SetColumnWidth(,w/);
m_listctrl.SetColumnWidth(,w/);
m_listctrl.SetColumnWidth(,w/);
m_listctrl.SetColumnWidth(,w/);
//下面从外在本工程文件夹下的studen.txt文件中读取所需要的记录信息 ifstream in("student.txt");
char buf[];
int i=;
while(!in.eof())
{
//将读取到的信息放到列表中显示
//先往列表中插入一行,第一个参数表示插入行的行号
m_listctrl.InsertItem(i,"");
in>>buf;
//读入第一项放在buf字符数组中
m_listctrl.SetItemText(i,,buf);//显示在当前行的第0列
in>>buf; //读入下一项放在buf字符数组中
m_listctrl.SetItemText(i,,buf);//显示在当前行的第1列
in>>buf;
m_listctrl.SetItemText(i,,buf);
in>>buf;
m_listctrl.SetItemText(i,,buf);
in>>buf;
m_listctrl.SetItemText(i,,buf);
i++;
}
05-11 17:32