在打开数据库时为了便捷的查看目前已经有了哪些数据库,这是就需要给用户展示已存在的数据库名, 这时就需要从文件夹里读取数据库文件并显示到list control上
void CMy528Update_MfcDlg::OnBnClickedButton1() //将数据库名显示在list control上 { // TODO: 在此添加控件通知处理程序代码 if(m_list1.GetItemCount() == 0) //判断列表项是否存在 { m_list1.InsertColumn(0,_T("名称")); m_list1.InsertColumn(1,_T("大小")); m_list1.InsertColumn(2,_T("时间")); } CRect rect; m_list1.SetExtendedStyle(m_list1.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES ); m_list1.GetClientRect(&rect); m_list1.SetColumnWidth(0,rect.Width()/3); m_list1.SetColumnWidth(1,rect.Width()/3); m_list1.SetColumnWidth(2,rect.Width()/3); CFileFind finder; BOOL bWorking = finder.FindFile(_T("E:\\vs文档\\528Update_Mfc\\528Update_Mfc\\*.db"));//文件路径自己设置 m_list1.DeleteAllItems(); // 删除listcontrol中显示的数据,不会删除列表项 while (bWorking) { bWorking = finder.FindNextFile(); TRACE(_T("%s\n"), (LPCTSTR)finder.GetFileName()); CString FileName = finder.GetFileName();//文件名 int Index = m_list1.InsertItem(0xffff,_T("")); m_list1.SetItemText(Index,0,FileName); ULONGLONG size = finder.GetLength()/1024+1; //文件大小 // ULONGLONG FileLen = finder.GetLength(); //文件大小 CString filelen; filelen.Format(_T("%dKB"),size); m_list1.SetItemText(Index,1,(LPCTSTR)filelen); CTime tempTime; CString str1; finder.GetCreationTime(tempTime);//创建时间 str1 = tempTime.Format(_T("%Y/%m/%d %H:%M:%S")); m_list1.SetItemText(Index,2,str1); } }
这里我的按钮名为IDC_BUTTON1,list control名为m_list1,可以根据实际情况改动
下面附上我的运行界面
希望可以帮到你
如果对我做的界面有需求,可以看下点击打开链接