`

CFileDialog多选文件时的最大数量

 
阅读更多

system("explorer d:\我的文件夹");

 

GetDlgItemText(IDC_FILEHEAD,fileh);
 fileheadlength=atoi(fileh);

 XYZ_OXYGEN=3;
 TCHAR *pszFile = new TCHAR[MAX_PATH*MAX_PATH*MAX_PATH];
 memset(pszFile,0,sizeof(TCHAR)*MAX_PATH*MAX_PATH*MAX_PATH);

 CFileDialog   Dlg(TRUE,NULL,NULL,OFN_ALLOWMULTISELECT,_T("oxy Files(*.dat)|*.dat| All Files(*.*)|*.*||"));
 Dlg.m_ofn.nMaxFile=MAX_PATH*MAX_PATH*MAX_PATH;

 Dlg.m_ofn.lpstrFile=pszFile;//lpstrFile必须和nMaxFile配对出现?
// int openok=Dlg.DoModal();

 if(Dlg.DoModal()==IDOK)
 {
  filename = Dlg.GetPathName();

  POSITION   pos  = Dlg.GetStartPosition();

  while(pos)
  {
   CString  szFileName = Dlg.GetNextPathName(pos);
   CFile file;

   if(file.Open(szFileName, CFile::modeRead))
   {
    //得到文件长度,从而确定读取缓存的大小  
    filesize +=(file.GetLength()-fileheadlength);
   }
   file.Close();
  }
 

    pBuf=new BYTE[filesize];
    pos  = Dlg.GetStartPosition();
    int ipbuf=0;
  while(pos)
  {
   CString  szFileName = Dlg.GetNextPathName(pos);
   CFile file;

   if(file.Open(szFileName, CFile::modeRead))
   {
    //得到文件长度,从而确定读取缓存的大小  
    everfilesize =(file.GetLength()-fileheadlength);
    file.Seek(fileheadlength,CFile::begin);
    file.Read(pBuf+ipbuf*everfilesize,everfilesize);
    ipbuf++;
   }
   file.Close();
  }

 }

 else
 {
  MessageBox("打开文件失败!",NULL);
  /*CString messge;
  messge.Format("%s","打开文件失败!");
  SetWindowText(messge);*/
 }

 delete [] pszFile;
 pszFile=NULL;

 // TODO: 在此添加控件通知处理程序代码

分享到:
评论

相关推荐

    CFileDialog可以选择文件夹

    在Windows编程中,`CFileDialog`是MFC(Microsoft Foundation Classes)库中的一个关键类,用于创建标准的文件打开、保存对话框。标题"‘CFileDialog可以选择文件夹’"表明我们要探讨的是如何利用`CFileDialog`来...

    CFileDialog设置多选的问题解决

    在多选模式下,用户可以选择多个文件,但有时可能会遇到一个限制,即当选择的文件数量过多时,`DoModal()` 函数返回` IDCANCEL`,而不是期望的` IDOK`。这个问题与CFileDialog内部处理文件名的缓冲区大小有关。 ...

    关于 CFileDialog 对话框多选功能的一个问题VC源代码

    最近有位读者来信指出:...如果多选时选中的文件过多,那么后面选中的文件将无效,也就是说即使也白选,点击“确定”后没有任何操作 。本文将提供解决此问题的办法,并说明问题的来由。 关键字:filedialog,文件对话框

    商业编程-源码-关于 CFileDialog 对话框多选功能的一个问题.zip

    要启用`CFileDialog` 的多选功能,我们需要在创建`CFileDialog` 对象时设置相应的标志。具体来说,我们可以通过传递`OFN_ALLOWMULTISELECT` 标志到`CFileDialog` 构造函数的`dwFlags` 参数来实现。例如: ```cpp ...

    用CFileDialog打开多个文件

    这里使用了`MAX_PATH * MAX_PATH`作为文件路径的大小,这是因为每个文件路径的最大长度为`MAX_PATH`,而用户可以选择多个文件,所以需要足够的空间来存储所有路径。 #### 显示对话框并获取结果 然后调用`DoModal()...

    CFileDialog用法 CFileDialog用法 获取文件

    `OFN_ALLOWMULTISELECT`使得用户可以选择多个文件,而`OFN_OVERWRITEPROMPT`会在用户尝试覆盖已存在的文件时显示警告。 文件过滤器部分是 `"代码文件(*.c; *.cpp; *cxx; *.tli; *.tlh; *.inl; *.h; *.hpp; *.hxx)|*...

    VC_CFileOpen打开文件对话框中实现多选文件.visual c++

    这个类是`CFileDialog`的一个派生类,专门用于实现用户选择一个或多个文件进行打开的操作。在本文中,我们将详细探讨如何使用`CFileOpenDialog`在Visual C++中实现多选文件的功能。 首先,我们需要包含必要的头文件...

    VC文件多选对话框

    在VC++编程环境中,"VC文件多选对话框"是一个重要的功能,允许用户在打开或保存文件时选择多个文件,而不仅仅是单个文件。在Windows应用程序中,这通常通过使用`CFileDialog`类来实现,它是MFC(Microsoft ...

    CFileDialog实现串口通讯和读TXT文件

    例如,当文件未找到或串口无法打开时,应向用户显示错误消息。此外,可能还需要添加定时器来控制串口通信的速率,或者提供一个按钮让用户手动开始和停止通信。 总结来说,VS2012中的CFileDialog是实现用户交互式...

    CFileDialog的用法和简介

    - 构造一个 `CFileDialog` 对象时,需要传递一系列参数以定义对话框的行为。构造函数原型如下: ```cpp CFileDialog::CFileDialog( BOOL bOpenFileDialog, // 如果为 TRUE,则显示打开对话框;如果为 FALSE,则...

    CFileDialog文件对话框

    在Microsoft Visual C++环境中,`CFileDialog`是一个重要的类,用于创建标准的文件打开、保存或打印对话框。这个类是MFC(Microsoft Foundation Classes)库的一部分,它封装了Windows API中的`OPENFILENAME`结构,...

    重载(文件对话框)CFileDialog类并自定义控件

    这个工程用VS2008生成,实现了对文件对话框(CFileDialog)类的派生,可以在自己的文件对话框中加入自己想要的控件,并可定位原文件对话框位置(用ID为stc32的控件定位). 这样就可以方便地实现文件预览:比如文件预览,文本...

    cfiledialog

    1. **创建CFileDialog对象**:首先,你需要在代码中创建一个`CFileDialog`对象,指定对话框的类型(如`OFN_FILEMUSTEXIST`表示只能选择已存在的文件,`OFN_ALLOWMULTISELECT`表示可以多选文件)以及对话框的其他属性...

    CFileDialog

    当你需要在应用程序中实现用户选择文件或保存文件的功能时,`CFileDialog`提供了方便的接口。在本篇中,我们将深入探讨`CFileDialog`的使用、子类化以及如何修改其中的文字使其适应中文环境。 ### 1. `CFileDialog`...

    CFileDialog_Multiselect_Demo.rar_DEMO_多文件 选择

    - 当多选启用后,用户可以在对话框中选择多个文件,选定的文件路径会以分隔符(通常是`\0` 或 `\0\0`)的形式存储在`CFileDialog` 的成员变量`m_strFile` 中。 3. **缓冲区溢出问题**: - 在处理多选文件的路径时...

    CFileDialog文件对话框(保存摄像头截图到指定目录)

    本程序实现了: (1)从指定位置打开图片,显示到picture控件中。...(3)摄像头视频截图,保存到指定目录(利用CFileDialog文件对话框)。 注:运行本程序前需要安装OpenCV,并在VC6中配置好包含目录。

    派生CFileDialog,使之不仅可选择文件,还可选择目录

    在某些场景下,比如需要用户指定一个文件夹来保存或读取一系列文件时,就需要扩展其功能。本篇将详细介绍如何派生CFileDialog类,以实现同时选择文件和目录的功能。 首先,我们需要理解CFileDialog的工作原理。...

    CFileDialog_Multiselect_Demo

    创建一个`CFileDialog`实例时,可以设置其风格,例如`OFN_ALLOWMULTISELECT`,这个风格使得用户可以在文件对话框中选择多个文件。以下是一个简单的示例: ```cpp CFileDialog fileDlg(TRUE, NULL, NULL, OFN_...

    CFileDialog的钩子函数解决对话框的多选之DoModal问题

    P 前几天领导问我一个问题:就是使用CFileDialog类在设置多选时选中的文件所放的文件缓冲区不知设置多大合适,设置小了DoModal返回为失败, 通过CommDlgExtendedError函数获取错误码为FNERR_BUFFERTOOSMALL(即缓冲...

Global site tag (gtag.js) - Google Analytics