在打开数据库时为了便捷的查看目前已经有了哪些数据库,这是就需要给用户展示已存在的数据库名, 这时就需要从文件夹里读取数据库文件并显示到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,可以根据实际情况改动
下面附上我的运行界面
希望可以帮到你
如果对我做的界面有需求,可以看下点击打开链接