MFC技术实现选择文件夹的对话框

由于MFC自带的CFileDiag是只能选择文件的,无法定制只能选择文件夹的对话框。然后当你仅仅需要操作文件夹,批量操作文件时,你需要用WIN32API实现,以下贴出制做该对话框的函数

void CQQICKView::OnMmm()
{
 // TODO: Add your command handler code here
 CString m_FileDir;
 BROWSEINFO bi;
 ZeroMemory(&bi,
sizeof(BROWSEINFO));
 bi.hwndOwner = m_hWnd;
 bi.ulFlags   =
BIF_RETURNONLYFSDIRS;
 LPITEMIDLIST pidl =
SHBrowseForFolder(&bi);
 BOOL bRet = FALSE;
 TCHAR szFolder[MAX_PATH*2];
 szFolder[0] = _T(‘\0‘);
 if (pidl)
 {
  if (SHGetPathFromIDList(pidl,
szFolder))  
  bRet = TRUE;
  IMalloc *pMalloc = NULL;
  if
(SUCCEEDED(SHGetMalloc(&pMalloc))
&& pMalloc)
  { 
   pMalloc->Free(pidl);

pMalloc->Release();

}
 }
 
 m_FileDir = szFolder;
 TRACE("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");

TRACE(m_FileDir);
 TRACE("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");

}来自:凤凰娱乐平台官网

时间: 2024-12-24 22:34:49

MFC技术实现选择文件夹的对话框的相关文章

弹出打开/保存文件对话框 选择文件夹对话框

打开/保存文件对话框: CFileDialog::CFileDialog( BOOL bOpenFileDialog, //为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框 LPCTSTR lpszDefExt = NULL, //默认的文件扩展名 LPCTSTR lpszFileName = NULL, //默认的文件名 DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, //设定风格 LPCTSTR lpszFilt

Windows--MFC选择文件对话框和选择文件夹对话框

选择单个文件对话框: 1 CString strFile = _T(""); 2 3 CFileDialog dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("Describe Files (*.jpg)|*.jpg|All Files (*.*)|*.*||"), NULL); 4 5 if (dlgFile.DoModal()) 6 { 7 strFile = dlgFile.GetPathName(); 8 } 选

java 选择文件夹对话框

java swing 选择文件夹对话框 import java.io.File; import javax.swing.JFileChooser; public class Test2 { public static void main(String[] args) { JFileChooser jf = new JFileChooser(); jf.setSelectedFile(new File("c:\\我的报表.xls")); int value = jf.showSaveDi

NX二次开发-UFUN打开选择文件夹对话框UF_UI_create_filebox

1 #include <uf.h> 2 #include <uf_ui.h> 3 #include <string> 4 5 using namespace std; 6 7 string OpenDirectionDialog(char* lpszDefault) 8 { 9 //去除字符串末尾的\; 10 int nlast = strlen(lpszDefault) - 1; 11 string strDefault = lpszDefault; 12 if (s

GetOpenFileName 选择文件夹的解决方法

某些环境下(如WIN PE)windows自带的选择文件夹api不能使用或者体验不佳.现在利用GetOpenFileName的回掉参数实现了选择文件夹选择功能. #include <Windows.h> #include <CommCtrl.h> #include <locale.h> #include <shlwapi.h> LONG g_lOriWndProc = NULL; #define ID_COMBO_ADDR 0x47c #define ID_

选择文件夹,路径选择

选择文件夹,路径选择, SelectDirectory #include "FileCtrl.hpp" const SELDIRHELP = 1000; void __fastcall TForm1::Button1Click(TObject *Sender) { String Dir = "C:\\Program Files\\CodeGear"; if (SelectDirectory(Dir, TSelectDirOpts() << sdAllow

C# 选择文件夹 选择文件

选择文件 1 //选择文件 2 OpenFileDialog dialog = new OpenFileDialog(); 3 dialog.Multiselect = true;//该值确定是否可以选择多个文件 4 dialog.Title = "请选择文件夹"; 5 dialog.Filter = "所有文件(*.*)|*.*"; 6 if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)

C#选择文件、选择文件夹、打开文件(或者文件夹)

转载自:http://www.cnblogs.com/zhlziliaoku/p/5241097.html 1.选择文件用OpenDialog OpenFileDialog dialog = new OpenFileDialog(); dialog.Multiselect = true;//该值确定是否可以选择多个文件 dialog.Title = "请选择文件夹"; dialog.Filter = "所有文件(*.*)|*.*"; if (dialog.ShowD

关于WPF中文件夹浏览对话框的方式

文件夹浏览时dialogresult要写全引用路径 1 string path=null; 2 FolderBrowserDialog fbd = new FolderBrowserDialog(); 3 fbd.Description = "请选择文件夹"; 4 if (fbd.ShowDialog()==System.Windows.Forms.DialogResult.OK) 5 { 6 path = fbd.SelectedPath; 7 8 9 } 10 foreach(st