文件目录选择的对话框的API是什么? 只返回路径,而不是文件名 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 出现目录选择对话框。http://www.v6688.com/cxcpu/selectdir.rar经过测试。听说这个也可以,但没经测试选文件夹: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(""); return CString(szDir);} char buffer[MAX_PATH]; BROWSEINFO m_pbi ; ::ZeroMemory(&m_pbi, sizeof(BROWSEINFO)); m_pbi.hwndOwner = GetSafeHwnd(); m_pbi.pszDisplayName = buffer; m_pbi.lpszTitle = ""; m_pbi.ulFlags = BIF_RETURNONLYFSDIRS; ITEMIDLIST *idl = SHBrowseForFolder(&m_pbi); if (idl) { SHGetPathFromIDList (idl, buffer); } CFileDialog Open(true/*如果为真则对话框为打开对话框,为否则为保存对话框*/, "" /*默认后缀名*/, "" /*默认文件名*/, 0 /*对话框风格*/, "All File|*.*|", this /*父窗口指针*/);CString strFilePath;if (Open.DoModal() == IDOK) //有模式地显示对话框,如果返回确定则代表有文件选择,则{ strFilePath = Open.GetPathName(); //取得文件路径字符串 SetDlgItemText (IDC_SOURCE, strFilePath); //将ID为IDC_SOURCE的控件的文本设为该字符串} MFC程序退出时提示 VC打开工程卡很久,求解原因及解决方法 JPEG转换为BMP图象序列处理求助 求对自己写的程序界面“无响应”问题的解决方案! 键盘鼠标等钩子编程文章收集,(大家一起来做吧) 关于IIS的问题 改人家的一个ping,返回字符Reply在CListBox的显示问题 若系统有多个打印机,怎样设置其中一个为默认打印机? 请问如何使用custom控件? 请问VC6.0在调试的时候怎样查看 静态变量的值? 请问怎么样才能让自己的程序只能被启动一个,而不能开N个。 高分请教连续显示位图的闪烁问题?
http://www.v6688.com/cxcpu/selectdir.rar
经过测试。
听说这个也可以,但没经测试
选文件夹:
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("");
return CString(szDir);
}
BROWSEINFO m_pbi ; ::ZeroMemory(&m_pbi, sizeof(BROWSEINFO));
m_pbi.hwndOwner = GetSafeHwnd();
m_pbi.pszDisplayName = buffer;
m_pbi.lpszTitle = "";
m_pbi.ulFlags = BIF_RETURNONLYFSDIRS; ITEMIDLIST *idl = SHBrowseForFolder(&m_pbi);
if (idl)
{
SHGetPathFromIDList (idl, buffer);
}
"" /*默认后缀名*/,
"" /*默认文件名*/,
0 /*对话框风格*/,
"All File|*.*|",
this /*父窗口指针*/);CString strFilePath;
if (Open.DoModal() == IDOK) //有模式地显示对话框,如果返回确定则代表有文件选择,则
{
strFilePath = Open.GetPathName(); //取得文件路径字符串
SetDlgItemText (IDC_SOURCE, strFilePath); //将ID为IDC_SOURCE的控件的文本设为该字符串
}