设为首页 加入收藏

TOP

5.4.2 获取系统文件目录结构(3)
2013-10-07 00:47:49 来源: 作者: 【 】 浏览:58
Tags:5.4.2 获取 系统 文件 目录 结构

5.4.2  获取系统文件目录结构(3)

//初始化文件列表控件标题栏
void InitFileListTitle(void);
FilesAssistantDlg.cpp
//标题栏对应的ID
enum FILE_ATTRIBUTE_TITLE
{
FILE_ATTRIBUTE_TITLE_NAME,
};
///////////////////////////////////////////////////////////////////
//函数名称:InitFileListTitle
//函数介绍:
//   初始化文件列表标题栏
//输入参数:
//   无
//输出参数:
//   无
//返回值:
//   无
///////////////////////////////////////////////////////////////////
void CFilesAssistantDlg::InitFileListTitle(void)
{
//初始化文件列表
int nColumnWidth = 300;
//添加列名
m_lcFiles.InsertColumn(FILE_ATTRIBUTE_TITLE_NAME, L"名称", 0,     nColumnWidth);
}
在CFilesAssistantDlg::OnInitDialog中增加调用。
BOOL CFilesAssistantDlg::OnInitDialog()
{
……
// TODO: Add extra initialization here
InitPath();
InitFileListTitle();
return TRUE;  // return TRUE  unless you set the focus to a control
}
执行结果如图5-18所示。
 
图5-18  初始化文件列表标题栏
增加文件列表内容,在CFilesAssistantDlg中增加以下函数。
FilesAssistantDlg.h
//获取文件列表
void GetFileList(void);
FilesAssistantDlg.cpp
///////////////////////////////////////////////////////////////////
//函数名称:GetFileList
//函数介绍:
//   获取对应目录的文件列表
//输入参数:
//
//输出参数:
//   无
//返回值:
//   无
///////////////////////////////////////////////////////////////////
void CFilesAssistantDlg::GetFileList(void)
{
//增加过滤条件,由于是选择目录因此使用"*.*"
wchar_t *strFilter = new wchar_t[MAX_PATH];
wcscpy(strFilter, m_strSearchPath);
UpdateData();
wcscat(strFilter, L"*.*");
  //开始查找
WIN32_FIND_DATA FindData;//用于存储找到的文件
HANDLE hFind;//存储用于查找的句柄
  hFind = FindFirstFile(strFilter, &FindData);
  delete[] strFilter;
if (INVALID_HANDLE_VALUE == hFind)
{
return ;
}
  //存在目录
m_lcFiles.DeleteAllItems();//清空文件列表
do
{
//添加文件
if (0 == (FindData.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY))
{
m_lcFiles.InsertItem(0,FindData.cFileName);
}
}while( FindNextFile(hFind, &FindData));
}
得到如图5-19所示的结果。
  
图5-19  简易的文件浏览器
至此,我们已经完成了一个简易的文件浏览器。
【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇5.4.1 搭建用户界面(3) 下一篇5.4.2 获取系统文件目录结构(2)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: