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: 在此添加控件通知处理程序代码
分享到:
相关推荐
在Windows编程中,`CFileDialog`是MFC(Microsoft Foundation Classes)库中的一个关键类,用于创建标准的文件打开、保存对话框。标题"‘CFileDialog可以选择文件夹’"表明我们要探讨的是如何利用`CFileDialog`来...
在多选模式下,用户可以选择多个文件,但有时可能会遇到一个限制,即当选择的文件数量过多时,`DoModal()` 函数返回` IDCANCEL`,而不是期望的` IDOK`。这个问题与CFileDialog内部处理文件名的缓冲区大小有关。 ...
最近有位读者来信指出:...如果多选时选中的文件过多,那么后面选中的文件将无效,也就是说即使也白选,点击“确定”后没有任何操作 。本文将提供解决此问题的办法,并说明问题的来由。 关键字:filedialog,文件对话框
要启用`CFileDialog` 的多选功能,我们需要在创建`CFileDialog` 对象时设置相应的标志。具体来说,我们可以通过传递`OFN_ALLOWMULTISELECT` 标志到`CFileDialog` 构造函数的`dwFlags` 参数来实现。例如: ```cpp ...
这里使用了`MAX_PATH * MAX_PATH`作为文件路径的大小,这是因为每个文件路径的最大长度为`MAX_PATH`,而用户可以选择多个文件,所以需要足够的空间来存储所有路径。 #### 显示对话框并获取结果 然后调用`DoModal()...
`OFN_ALLOWMULTISELECT`使得用户可以选择多个文件,而`OFN_OVERWRITEPROMPT`会在用户尝试覆盖已存在的文件时显示警告。 文件过滤器部分是 `"代码文件(*.c; *.cpp; *cxx; *.tli; *.tlh; *.inl; *.h; *.hpp; *.hxx)|*...
这个类是`CFileDialog`的一个派生类,专门用于实现用户选择一个或多个文件进行打开的操作。在本文中,我们将详细探讨如何使用`CFileOpenDialog`在Visual C++中实现多选文件的功能。 首先,我们需要包含必要的头文件...
在VC++编程环境中,"VC文件多选对话框"是一个重要的功能,允许用户在打开或保存文件时选择多个文件,而不仅仅是单个文件。在Windows应用程序中,这通常通过使用`CFileDialog`类来实现,它是MFC(Microsoft ...
例如,当文件未找到或串口无法打开时,应向用户显示错误消息。此外,可能还需要添加定时器来控制串口通信的速率,或者提供一个按钮让用户手动开始和停止通信。 总结来说,VS2012中的CFileDialog是实现用户交互式...
- 构造一个 `CFileDialog` 对象时,需要传递一系列参数以定义对话框的行为。构造函数原型如下: ```cpp CFileDialog::CFileDialog( BOOL bOpenFileDialog, // 如果为 TRUE,则显示打开对话框;如果为 FALSE,则...
在Microsoft Visual C++环境中,`CFileDialog`是一个重要的类,用于创建标准的文件打开、保存或打印对话框。这个类是MFC(Microsoft Foundation Classes)库的一部分,它封装了Windows API中的`OPENFILENAME`结构,...
这个工程用VS2008生成,实现了对文件对话框(CFileDialog)类的派生,可以在自己的文件对话框中加入自己想要的控件,并可定位原文件对话框位置(用ID为stc32的控件定位). 这样就可以方便地实现文件预览:比如文件预览,文本...
1. **创建CFileDialog对象**:首先,你需要在代码中创建一个`CFileDialog`对象,指定对话框的类型(如`OFN_FILEMUSTEXIST`表示只能选择已存在的文件,`OFN_ALLOWMULTISELECT`表示可以多选文件)以及对话框的其他属性...
当你需要在应用程序中实现用户选择文件或保存文件的功能时,`CFileDialog`提供了方便的接口。在本篇中,我们将深入探讨`CFileDialog`的使用、子类化以及如何修改其中的文字使其适应中文环境。 ### 1. `CFileDialog`...
- 当多选启用后,用户可以在对话框中选择多个文件,选定的文件路径会以分隔符(通常是`\0` 或 `\0\0`)的形式存储在`CFileDialog` 的成员变量`m_strFile` 中。 3. **缓冲区溢出问题**: - 在处理多选文件的路径时...
本程序实现了: (1)从指定位置打开图片,显示到picture控件中。...(3)摄像头视频截图,保存到指定目录(利用CFileDialog文件对话框)。 注:运行本程序前需要安装OpenCV,并在VC6中配置好包含目录。
在某些场景下,比如需要用户指定一个文件夹来保存或读取一系列文件时,就需要扩展其功能。本篇将详细介绍如何派生CFileDialog类,以实现同时选择文件和目录的功能。 首先,我们需要理解CFileDialog的工作原理。...
创建一个`CFileDialog`实例时,可以设置其风格,例如`OFN_ALLOWMULTISELECT`,这个风格使得用户可以在文件对话框中选择多个文件。以下是一个简单的示例: ```cpp CFileDialog fileDlg(TRUE, NULL, NULL, OFN_...
P 前几天领导问我一个问题:就是使用CFileDialog类在设置多选时选中的文件所放的文件缓冲区不知设置多大合适,设置小了DoModal返回为失败, 通过CommDlgExtendedError函数获取错误码为FNERR_BUFFERTOOSMALL(即缓冲...