CFileDialog类实现文件夹路径的获取
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CFileDialog类实现文件夹路径的获取相关的知识,希望对你有一定的参考价值。
选择文件夹,是用CFileDialog类吗?回答的好加分
请看清楚图片和问题再回答,谢谢
CFileDialog pCFileDialog(true,NULL,NULL,0,"文本文件(*.txt)|*.txt");
//CFileDialog pCFileDialog最后一个参数是打开文件对话框的筛选器内容,不是文件路径
pCFileDialog.m_ofn.lpstrTitle = "打开文件 ";
char pbuf[1024];
memset(pbuf,0,1024);
if(pCFileDialog.DoModal()==IDOK)
CFile filename(pCFileDialog.GetFileName(),CFile::modeRead);
filename.Read(pbuf,1024);
MessageBox(pbuf);
filename.Close;
参考技术A http://hi.baidu.com/lucifer_mike/blog/item/16961bef0bce3be3ce1b3ef9.html
CString sFolderPath;
BROWSEINFO bi;
char Buffer[MAX_PATH];
//初始化入口参数bi开始
bi.hwndOwner = NULL;
bi.pidlRoot =NULL;//初始化制定的root目录很不容易,
bi.pszDisplayName = Buffer;//此参数如为NULL则不能显示对话框
bi.lpszTitle = "修改接收路径";
//bi.ulFlags = BIF_BROWSEINCLUDEFILES;//包括文件
bi.ulFlags = BIF_EDITBOX;//包括文件
bi.lpfn = NULL;
bi.iImage=IDR_MAINFRAME;
//初始化入口参数bi结束
LPITEMIDLIST pIDList = SHBrowseForFolder(&bi);//调用显示选择对话框
if(pIDList)
SHGetPathFromIDList(pIDList, Buffer);
//取得文件夹路径到Buffer里
sFolderPath = Buffer;//将文件夹路径保存在一个CString对象里
LPMALLOC lpMalloc;
if(FAILED(SHGetMalloc(&lpMalloc)))
return;
lpMalloc->Free(pIDList);
lpMalloc->Release();
MessageBox(sFolderPath,"Title",MB_OK);
参考资料:http://hi.baidu.com/lucifer_mike/blog/item/16961bef0bce3be3ce1b3ef9.html
本回答被提问者和网友采纳 参考技术B VC6的实现不了以上是关于CFileDialog类实现文件夹路径的获取的主要内容,如果未能解决你的问题,请参考以下文章
为啥我用 CFileDialog 获取文件路径后,一些指针不能用了?
CFileDialog(文件夹对话框类)和CFontDialog(字体设置对话框类)的使用学习