社区
界面
帖子详情
如何调用选择文件夹的对话框?
悲酥清风
2006-10-27 09:12:19
只知道选择文件的是CFileDialog,不知道选择文件夹的怎么调用?
...全文
205
7
打赏
收藏
如何调用选择文件夹的对话框?
只知道选择文件的是CFileDialog,不知道选择文件夹的怎么调用?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shore1000
2006-10-27
打赏
举报
回复
可以去CODEPROJECT下载一个叫CFolderDialog的基础类,将这个基础类放进你的工程中就可以用了,以下是下载地址和调用方式!~
http://www.codeproject.com/dialog/cfolderdialog.asp
m_strFolderPath = _T( "C;" );
CFolderDialog dlg( _T( "请选择你的图片文件所在的目录:" ), m_strFolderPath, this );
if( dlg.DoModal() == IDOK )
{
}
悲酥清风
2006-10-27
打赏
举报
回复
搜索了一下找到了,谢谢大家,都有分哦
rayland
2006-10-27
打赏
举报
回复
CFolderDialog dlg("初始路径");
if(IDOK==dlg.DoModal())
{
...
}
幽幽浮浮
2006-10-27
打赏
举报
回复
//打开某文件夹
BROWSEINFO bi;
char Buffer[MAX_PATH];
//LPARAM lpStartDir;
//初始化入口参数bi开始
bi.hwndOwner = this->m_hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = Buffer;//此参数如为NULL则不能显示对话框
bi.lpszTitle = "选择****路径";
bi.ulFlags = BIF_RETURNONLYFSDIRS;
bi.lpfn = BrowseCallbackProc;//文件夹对话框回调函数
//初始化入口参数bi结束
LPITEMIDLIST pIDList = SHBrowseForFolder(&bi);//调用显示选择对话框
if(pIDList)
{
SHGetPathFromIDList(pIDList, Buffer);
//取得文件夹路径到Buffer里
m_strFolderPath = Buffer;//将路径保存在一个CString对象里
}
//释放内存
LPMALLOC lpMalloc;
if(FAILED(SHGetMalloc(&lpMalloc)))
{
return;
}
lpMalloc->Free(pIDList);
lpMalloc->Release();
LocalFree((PVOID)lpStartDir);*/
int CALLBACK BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
{
TCHAR szDir[MAX_PATH];
switch(uMsg)
{
case BFFM_INITIALIZED:
if (GetCurrentDirectory(sizeof(szDir)/sizeof(TCHAR), szDir))
{
SendMessage(hwnd, BFFM_ENABLEOK, 0, 0);
SendMessage(hwnd, BFFM_SETSELECTION, TRUE, (LPARAM)szDir);
}
break;
case BFFM_SELCHANGED:
// 根据路径,判断该路径下是否存在***文件,并设置按OK钮状态
if (SHGetPathFromIDList((LPITEMIDLIST)lParam ,szDir))
{
CString strPath = szDir;
if (SUCCEEDED(EnumFiles(strPath)))//EnumFiles()为查找某文 件函数
{
SendMessage(hwnd, BFFM_ENABLEOK, 1, 1);//
}
else
{
SendMessage(hwnd, BFFM_ENABLEOK, 0, 0);
}
}
break;
}
return 0;
}
Y___Y
2006-10-27
打赏
举报
回复
路径选择对话框
char path[MAX_PATH];
BROWSEINFO br;
ITEMIDLIST *item;
br.hwndOwner = this->GetSafeHwnd();
br.iImage = 0;
br.pszDisplayName = 0;
br.lParam = 0;
br.lpfn = 0;
br.lpszTitle = "请选择路径:";
br.pidlRoot = 0;
br.ulFlags = BIF_RETURNONLYFSDIRS;
item = SHBrowseForFolder(&br);
if (SHGetPathFromIDList(item,path)==TRUE)
{
MessageBox(path);
}
「已注销」
2006-10-27
打赏
举报
回复
来迟了,楼上正解
lsgt
2006-10-27
打赏
举报
回复
BROWSEINFO bi = {0};
char szDestFolder[MAX_PATH];
bi.hwndOwner = GetSafeHwnd();
bi.lpszTitle="请选择数据所在目录:";
bi.pszDisplayName=szDestFolder;
bi.lpfn = NULL;
bi.lParam = NULL;
bi.ulFlags = (BIF_RETURNONLYFSDIRS | BIF_RETURNFSANCESTORS | BIF_USENEWUI | BIF_VALIDATE);
LPITEMIDLIST pidlDest = SHBrowseForFolder(&bi);
char szPath[MAX_PATH];
if(pidlDest!=NULL && SHGetPathFromIDList(pidlDest,szPath))
{
//szPath即为所选择的目录
}
通过API函数
调用
浏览
文件夹
对话框
通过API函数
调用
浏览
文件夹
对话框
unity3d
调用
通用
文件夹
对话框
这个程序是unity3d的。本程序是功能主要是给当前场景照相,并
调用
通用
文件夹
对话框
,自己
选择
路径和文件名保存图片。
delphi
文件夹
选择
对话框
(带新建
文件夹
) 控件
delphi
文件夹
选择
对话框
(带新建
文件夹
) 控件 我自已写的,争点分!
VB6 纯API
调用
打开
文件夹
对话框
免控件利用API获取
选择
的
文件夹
路径 以方便获取该
文件夹
下的文件处理
VB6
选择
文件夹
模块(完整版)
弹出式
文件夹
浏览
对话框
。 一个模块,一个函数就可
调用
。
界面
15,980
社区成员
115,900
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章