导航:首页 > 文件处理 > mfc浏览文件夹怎么设置

mfc浏览文件夹怎么设置

发布时间:2022-07-09 13:12:38

㈠ MFC中想实现打开文件或文件夹,该怎么实现呢

把"通过选择得到一个文件/文件夹的路径" 这些代码实现 写到某个函数里,不是写到按钮实现的函数里就行了。例如:

【以下代码中 filePathFile就是你想要的路径】
在主体函数中:
CFileDialog *lpszOpenFile; //定义一个CfileDialog对象
//生成一个对话框
lpszOpenFile = new CFileDialog
(TRUE,"abc.txt","",OFN_FILEMUSTEXIST |OFN_HIDEREADONLY , "文件类型(*.txt)|*.txt|所有文件(*.*)|*.*|");

if(lpszOpenFile->DoModal() == IDOK )//假如点击对话框确定按钮
{
filePathName = lpszOpenFile->GetPathName();//得到打开文件的路径

}

if(!file.Open(filePathName,CFile::modeRead))
{
MessageBox("can not open file!");
return;
}

㈡ MFC 中如何同时实现浏览文件和文件夹 并获得路径

CString filter;
filter = "??(*.??)|*.??||*.*";
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,filter);
if(dlg.DoModal()==IDOK)
{
CString str = dlg.GetPathName();
CEdit *p_Edit = (CEdit*)GetDlgItem(IDC_EDIT??);
p_Edit ->SetWindowText(str);
}

你是不是要像这样的.

㈢ MFC打开文件对话框怎么设置默认文件夹

打开文件对话框里面有一项可以设置打开出示路径,每次关闭程序的时候,保存路径(保存到文件或注册表),下次运行程序的时候读出来对打开文件对话框相关参数进行设置即可.

㈣ MFC怎么创建浏览文件夹和文件的对话框

{
CString FilePathName;
CFileDialog dlg(TRUE);///TRUE为OPEN对话框,FALSE为SAVE AS对话框
if(dlg.DoModal()==IDOK)
FilePathName=dlg.GetPathName();
}

文件名保存在了FilePathName里,然后处理吧

㈤ C++中用MFC创建的列表控件如何实现双击打开文件列表框中的文件夹

MFC 打开保存文件对话框 .
分类: VS学习 2011-11-14 17:19 331人阅读 评论(0) 收藏 举报
一、打开文件夹:

1、CFileDialog实现

CFileDialog hFileDlg(TRUE,NULL,NULL,OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST|OFN_READONLY,
TEXT("支持的图像文件 (*.jpg;*.gif;*.bmp;...)|*.jpg;*.gif;*.bmp|专用Tiff图像文件(*.tiff;*.tif)|*.tiff;*.tif|所有文件(*.*)|*.*||"),NULL);
hFileDlg.m_ofn.nFilterIndex=1;
hFileDlg.m_ofn.hwndOwner=m_hWnd;
hFileDlg.m_ofn.lStructSize=sizeof(OPENFILENAME);
hFileDlg.m_ofn.lpstrTitle=TEXT("打开图像文件...\0");
hFileDlg.m_ofn.nMaxFile=MAX_PATH;
if(hFileDlg.DoModal() == IDOK)
{
m_path = hFileDlg.GetPathName();
UpdateData(FALSE);
}

2、API实现

OPENFILENAMEA ofn;
char szFile[260];
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = NULL;
ofn.lpstrFile = szFile;
ofn.lpstrFile[0] = '\0';
ofn.nMaxFile = sizeof(szFile);
ofn.lpstrFilter = "音频文件\0*.wma\0";
ofn.nFilterIndex = 1;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
ofn.Flags = 0;

if (GetOpenFileNameA(&ofn)==FALSE)
{
return S_FALSE;
}
CString c_save_path=ofn.lpstrFile;

二、保存文件

同上,只不过将
CFileDialog hFileDlg(true,NULL 改为 CFileDialog hFileDlg(false,NULL,
或者将GetOpenFileNameA改为GetSaveFileNameA,即可。

三、浏览文件夹对话框

//回调函数
int CALLBACK BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
{
if(uMsg==BFFM_SELCHANGED||uMsg==BFFM_INITIALIZED)
{
if(uMsg==BFFM_INITIALIZED)
{
::SendMessage(hwnd,BFFM_SETSELECTION,TRUE,LPARAM(lpData));
}
}
return 0;
}

TCHAR chPath[255]; //用来存储路径的字符串
CString strPath = "";
BROWSEINFO bInfo;
GetMoleFileName(NULL,chPath,MAX_PATH);
strPath =chPath;
ZeroMemory(&bInfo, sizeof(bInfo));
bInfo.hwndOwner = m_hWnd;
bInfo.lpszTitle = _T("请选择路径: ");
bInfo.ulFlags = BIF_RETURNONLYFSDIRS|BIF_EDITBOX;
bInfo.lpfn = BrowseCallbackProc;
bInfo.lParam = (LPARAM)strPath.GetBuffer(strPath.GetLength());

LPITEMIDLIST lpDlist; //用来保存返回信息的IDList
lpDlist = SHBrowseForFolder(&bInfo) ; //显示选择对话框
if(lpDlist != NULL) //用户按了确定按钮
{
SHGetPathFromIDList(lpDlist, chPath);//把项目标识列表转化成字符串
strPath = chPath; //将TCHAR类型的字符串转换为CString类型的字符串
m_save_path=strPath;
UpdateData(FALSE);
}

设置对话框的标题:
dlg.m_ofn.lpstrTitle = _T("Open Image");

㈥ mfc怎么实现打开文件夹

voidCXXXDlg::OpenFolder()
{
BROWSEINFObi;
ZeroMemory(&bi,sizeof(BROWSEINFO));
//添加提示语句
bi.lpszTitle=_T("请选择文件夹");
//添加"新建文件夹项"和"编辑框"
bi.ulFlags=BIF_NEWDIALOGSTYLE|BIF_EDITBOX;
//显示一个对话框让让用户选择文件夹
LPITEMIDLISTpidl=SHBrowseForFolder(&bi);
charszFolder[_MAX_PATH];
memset(szFolder,0,sizeof(szFolder));
CStringstrFolder=_T("");
if(pidl!=NULL)
{
SHGetPathFromIDList(pidl,szFolder);
//保存文件夹路径存
strFolder.Format(_T("%s"),szFolder);
afxMessageBox(strFolder);
}
else
{
return;
}
}

㈦ MFC怎样创建能同时浏览文件夹和文件的对话框

BROWSEINFO bi;
ZeroMemory(&bi,sizeof(BROWSEINFO)); //指定存放文件的默认文件夹路径
bi.lpszTitle="请选择文件夹"; //添加提示语句
bi.ulFlags=0x0040 | BIF_EDITBOX; //添加“新建文件夹项”
LPMALLOC pMalloc;
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);//以默认路径打开浏览文件夹对话框
TCHAR * savepath = new TCHAR[MAX_PATH];
CString savepath2="";
if(pidl != NULL)
{
SHGetPathFromIDList(pidl,savepath);//把文件夹路径存放在savepath中
savepath2.Format(_T("%s"),savepath);
savepath2=savepath2+"\\";//在路径后增加斜杠
if(SUCCEEDED(SHGetMalloc(&pMalloc)))//网上说pidl指向的对象用完应该释放
{
pMalloc->Free(pidl);
pMalloc->Release();
}
} MessageBox(savepath2);//显示所选文件夹路径

这是修改后的代码,添加了第三四行,亲测可用

㈧ 如何在MFC中让一个按钮实现打开文件(弹出选择文件窗口)的功能

1、打开软件。

阅读全文

与mfc浏览文件夹怎么设置相关的资料

热点内容
量子加密银行 浏览:193
命令方块获得指令手机 浏览:499
学习结束感言简短程序员 浏览:398
android关机闹钟实现 浏览:968
鼠标一键打开文件夹设置 浏览:161
程序员看过来我想静静搞笑视频 浏览:370
curlphp爬虫 浏览:874
python按日期循环 浏览:110
php三个等号 浏览:760
培训班出来的程序员解决问题很差 浏览:963
程序员那么可爱25集 浏览:753
服务器地址和ip地址一样不 浏览:664
php中括号定义数组 浏览:602
php打印堆栈 浏览:516
华为adb命令行刷机 浏览:965
人像摄影pdf 浏览:761
解压文件密码怎样重新设置手机 浏览:1002
高考指南pdf 浏览:695
爬虫python数据存储 浏览:240
u盘怎么取消加密 浏览:431