当前位置:首页 » 文件管理 » mfc文件夹对话框

mfc文件夹对话框

发布时间: 2022-11-15 21:40:38

‘壹’ MFC 路径选择对话框

如果是选择文件的话那么正如wwwgmc所写的那样。
但是如果提问者说的是路径选择对话框则应是如下代码(代码中采用控制台的形式给出SHBrowseForFolder()的用法):

#include <stdio.h>
#include <Windows.h>
#include <shlobj.h>

int main()
{
BROWSEINFO stInfo = {NULL};
LPCITEMIDLIST pIdlst;
TCHAR szPath[MAX_PATH];
stInfo.ulFlags = BIF_DONTGOBELOWDOMAIN | BIF_RETURNONLYFSDIRS | BIF_USENEWUI;
stInfo.lpszTitle= "请选择路径:";
pIdlst = SHBrowseForFolder(&stInfo);
if(!pIdlst) return 1;
if(!SHGetPathFromIDList(pIdlst, szPath)) return 1;
printf(szPath);
return 0;
}

‘贰’ MFC怎么创建浏览文件夹和文件的对话框

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

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

‘叁’ MFC如何实现文件夹选择对话框

今天写一个程序,其中一个功能是用对话框来选择一个文件夹的路径。可是以前常用的CFileDialog必须指定到文件,选择一个文件夹只能继续打开而不能返回这个路径,CFileDialog貌视也没有参数可以弄成选择文件夹的式样。上网找了找,CSDN里有人提供下面这个函数的用法:
CString ShowSelectDirectoryDlg(const CString & strDlgTitle) { char szDir[MAX_PATH]; BROWSEINFO bi; ITEMIDLIST *pidl;
bi.hwndOwner = this->m_hWnd; bi.pidlRoot = NULL; bi.pszDisplayName = szDir; bi.lpszTitle = strDlgTitle; bi.ulFlags = BIF_RETURNONLYFSDIRS; bi.lpfn = NULL; bi.lParam = 0; bi.iImage = 0;
pidl = SHBrowseForFolder(&bi); if(pidl == NULL) return _T();
if(!SHGetPathFromIDList(pidl, szDir)) return _T();
这个函数的传入参数strDlgTitle,就是选择文件夹对话框的标题栏名称。只需要模拟这个函数的写法,添加代码到特定的消息响应函数里去就可以了。

‘肆’ MFC如何实现文件夹选择对话框

可是以前常用的CFileDialog必须指定到文件,选择一个文件夹只能继续打开而不能返回这个路径,CFileDialog貌视也没有参数可以弄成选择文件夹的式样。上网找了找,CSDN里有人提供下面这个函数的用法: CString ShowSelectDirectoryDlg(const CString & strDlgTitle) { char szDir[MAX_PATH]; BROWSEINFO bi; ITEMIDLIST *pidl; bi.hwndOwner = this->m_hWnd; bi.pidlRoot = NULL; bi.pszDisplayName = szDir; bi.lpszTitle = strDlgTitle; bi.ulFlags = BIF_RETURNONLYFSDIRS; bi.lpfn = NULL; bi.lParam = 0; bi.iImage = 0; pidl = SHBrowseForFolder(&bi); if(pidl == NULL) return _T(); if(!SHGetPathFromIDList(pidl, szDir)) return _T(); 这个函数的传入参数strDlgTitle,就是选择文件夹对话框的标题栏名称。只需要模拟这个函数的写法,添加代码到特定的消息响应函数里去就可以了。

‘伍’ MFC如何实现文件夹选择对话框

今天写一个程序,其中一个功能是用对话框来选择一个文件夹的路径。可是以前常用的CFileDialog必须指定到文件,选择一个文件夹只能继续打开而不能返回这个路径,CFileDialog貌视也没有参数可以弄成选择文件夹的式样。上网找了找,CSDN里有人提供下面这个函数的用法:
CString
ShowSelectDirectoryDlg(const
CString
&
strDlgTitle)
{
char
szDir[MAX_PATH];
BROWSEINFO
bi;
ITEMIDLIST
*pidl;
bi.hwndOwner
=
this->m_hWnd;
bi.pidlRoot
=
NULL;
bi.pszDisplayName
=
szDir;
bi.lpszTitle
=
strDlgTitle;
bi.ulFlags
=
BIF_RETURNONLYFSDIRS;
bi.lpfn
=
NULL;
bi.lParam
=
0;
bi.iImage
=
0;
pidl
=
SHBrowseForFolder(&bi);
if(pidl
==
NULL)
return
_T();
if(!SHGetPathFromIDList(pidl,
szDir))
return
_T();
这个函数的传入参数strDlgTitle,就是选择文件夹对话框的标题栏名称。只需要模拟这个函数的写法,添加代码到特定的消息响应函数里去就可以了。

‘陆’ MFC 弹出支持文件和文件夹混选的对话框

没有现成可以用的,只能自己实现;

假设存在,如果你双击某个文件夹,那么是应该选择还是打开;
所以是没有直接可以实现这个功能的对话框的,通过自绘等方式肯定可以实现,不过很麻烦;
当你出现这样的需求的时候应该考虑下你的设计是不是存在问题了。

‘柒’ MFC如何实现文件夹选择对话框

今天写一个程序,其中一个功能是用对话框来选择一个文件夹的路径。可是以前常用的CFileDialog必须指定到文件,选择一个文件夹只能继续打开而不能返回这个路径,CFileDialog貌视也没有参数可以弄成选择文件夹的式样。上网找了找,CSDN里有人提供下面这个函数的用法: CString ShowSelectDirectoryDlg(const CString & strDlgTitle) { char szDir[MAX_PATH]; BROWSEINFO bi; ITEMIDLIST *pidl; bi.hwndOwner = this->m_hWnd; bi.pidlRoot = NULL; bi.pszDisplayName = szDir; bi.lpszTitle = strDlgTitle; bi.ulFlags = BIF_RETURNONLYFSDIRS; bi.lpfn = NULL; bi.lParam = 0; bi.iImage = 0; pidl = SHBrowseForFolder(&bi); if(pidl == NULL) return _T(); if(!SHGetPathFromIDList(pidl, szDir)) return _T(); 这个函数的传入参数strDlgTitle,就是选择文件夹对话框的标题栏名称。只需要模拟这个函数的写法,添加代码到特定的消息响应函数里去就可以了。

‘捌’ 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弹出文件夹选择对话框问题

这个BROWSERINFO就是选择对话框的信息(比如要选择文件的类型,起始目录,还有就是存储路径的字符串等等)LPITEMIDLIST这个暂时没看出有什么用。

‘拾’ MFC中怎么加入一个菜单,点击菜单运行一个对话框,要详细一点!!

1、新建一个MFC工程,选择单文档。


热点内容
碧蓝航线pc挂机脚本 发布:2024-05-19 02:30:03 浏览:588
脚本fir 发布:2024-05-19 02:28:57 浏览:260
阿里云独享服务器 发布:2024-05-19 02:23:54 浏览:253
织梦源码ga 发布:2024-05-19 02:23:20 浏览:571
java文件名后缀 发布:2024-05-19 02:14:39 浏览:956
快手点榜脚本 发布:2024-05-19 02:08:44 浏览:163
pythonforinkeys 发布:2024-05-19 01:55:44 浏览:793
电脑如何局域网共享文件夹 发布:2024-05-19 01:25:01 浏览:69
手机存储越大性能越好吗 发布:2024-05-19 01:14:28 浏览:177
我的世界hyp服务器怎么玩 发布:2024-05-19 00:51:25 浏览:801