使用MFC的CFileDialog实现选择多个文件

原创 2012年03月23日 11:32:47
CFileDialog openDlg( TRUE,			/*bOpenFileDialog为TRUE时为打开文件,为FALSE时为保存文件*/
		   NULL,
		   NULL,
	            OFN_ALLOWMULTISELECT,	/*dwFlags为OFN_ALLOWMULTISELECT表示可以选择多个文件*/);
//构建CFielDialog对象时指定了OFN_ALLOWMULTISELECT的情况下,需要在对象DoModal()函数返回之前需要指定足够大
//的内存空间来存放文件名.如果选择的多个文件名组成的字符串长度大于指定的内存空间是就会导致DoModal()返回IDCANCEL.
/*申请内存来存放多个文件名组成的字符串*/
const int nMaxFiles = 1000;
const int nMaxPathBuffer = (nMaxFiles * (MAX_PATH + 1)) + 1;
LPWSTR pc = (LPWSTR)malloc(nMaxPathBuffer * sizeof(WCHAR));
if( pc )
{
  openDlg.GetOFN().lpstrFile = pc;							
  openDlg.GetOFN().lpstrFile[0] = NULL;
  openDlg.nMaxFile = nMaxPathBuffer;
  if( openDlg.DoModal() == IDOK )
  {
     POSITION posStart = openDlg.GetStartPosition();
     while( posStart )
     {
        //从pc所指向的内存中解析出每个文件的名字,这里的fileName所占的内存不能和pc所占的内存发生冲突
         CString fileName = openDlg.GetNextPathName();									
     }
  }
  free(pc);
}

使用CFileDialog选择多个文件

document.body.oncopy = function() { if (window.clipboardData) { setTimeout(functi...

CFileDialog多选文件问题

        CFileDialog多选文件 受到m_ofn.nMaxFile(缓冲区的大小)和lpstrFile(存放文件名的缓冲区)的限制。默认情况下,CFileDialog的m_ofn.nMa...
  • Japrin
  • Japrin
  • 2008年01月27日 20:41
  • 929

CFileDialog选择多个文件

转自:http://my.csdn.net/shuting_guo/code/detail/8522 C++代码: //同时打开N个文件 void COpenNFileDlg::OnButton...

MFC中使用CFileDialog可以批量选择文件的方法

//同时打开N个文件 void COpenNFileDlg::OnButton1() { CString pathName,fileName,fileTitle; char* f...

CFileDialog 多选文件

CFileDialog这个文件选择框类默认是单选的,那么如果要多选该怎么办呢?这里给出一种完整的做法。...

MFC 下文件对话框选择多个文件

在文件对话框下,选择多个文件,并且得到文件名,代码如下:CFileDialog   Dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT|...
  • zgl_dm
  • zgl_dm
  • 2007年09月29日 14:43
  • 2262

WTL中使用CFileDialog类进行文件多选

本文章来给各位同学介绍一个WTL中CFileDialog实现文件多选,希望此教程 对大家会有所帮助哦。 我在将一个用MFC编写的工程修改为WTL工程,旧的MFC工程中有调用文件浏览器选择多个文件的代...

MFC——文件打开和保存对话框(CFileDialog)

最近要做一个文件打开和保存的对话框,现将相关的代码记录如下,用以备忘! 所用控件: 2个静态标签(Static Text):用以显示功能标签; 2个文本框(Edit):用以显示打开的文件路径全名要保存...
  • luoweifu
  • luoweifu
  • 2014年04月28日 22:42
  • 53073

MFC打开文件对话框,选择多个文件

size_t index;     CString cstrsucstring;     CFileDialog filedlg(TRUE,NULL,NULL,OFN_HIDEREADONL...

MFC 中CFileDialog的用法

CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NU...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用MFC的CFileDialog实现选择多个文件
举报原因:
原因补充:

(最多只允许输入30个字)