- 首先讲界面的设置
界面设置如图,一个list control控件,名称设置为m_list,属性中的view(视图)设置为Report;一个编辑控件,主要是用于输入加载的csv文件名,类别为值,名称为m_file,变量类型设置为CString;最后一个按钮控件,修改名字为载入卡号。双击该按钮添加消息处理函数。
- 下面添加代码,在XXXDlg.cpp文件中的OnInitDialog()函数中添加代码:
DWORD style = m_list.GetExtendedStyle();
//添加网格线风格以及整行选中的风格以及前面加有选择框
style |= LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT;
//设置扩展风格
m_list.SetExtendedStyle(style);
// TODO: 在此添加额外的初始化代码
m_list.InsertColumn(0, "编号", LVCFMT_CENTER, 60);
m_list.InsertColumn(1, "卡号", LVCFMT_CENTER, 80);
这部分代码主要是设置list control控件的风格以及每列的名称。
- 在消息处理函数中添加代码,即刚才 双击按钮后创建的函数。
CStdioFile file;
//file.Open(_T("./cardid.csv"), CFile::modeRead);
UpdateData(TRUE);
file.Open(m_file, CFile::modeRead);
CString str;
int i = 0;//读取行数计数器
while (file.ReadString(str))
{
str = str.Trim(_T(" "));
CString substr[1];
int count = 0;
int index = str.Find(_T(","));
while (index != -1 && count < 9)
{
substr[count++] = str.Left(index);
str = str.Right(str.GetLength() - index - 1);
index = str.Find(_T(","));
}
substr[count++] = str;
CString stmp;
stmp.Format(_T("%s"), substr[0]);
char cshar[100];
sprintf_s(cshar, "%d", i + 1);
m_list.InsertItem(i, "");
m_list.SetItemText(i, 0, cshar);
m_list.SetItemText(i, 1, stmp);
i++;
}
file.Close();
-
在代码目录中创建csv文件,比如我的
-
效果图(运行程序时别忘了把csv文件关闭)