cfiledialog

使用CFileDialog选择多个文件(VC)

旧时模样 提交于 2019-12-05 19:22:19
李国帅 于2009-07-08 17:21 选择一个文件 // CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T("AVI文件(*.avi)|*.AVI|mp4文件(*.mp4)|*.MP4|jpg文件(*.jpg)|*.jpg||")); CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T( " 媒体文件(*.avi;*.mp4)|*.AVI;*.MP4|| " )); if (IDOK == dlg.DoModal()) { CString aviName = dlg.GetPathName(); CString extname = dlg.GetFileExt(); // 返回选定文件的扩展文件名 extname.MakeLower(); } 选择多个文件 CString fileNameArray[numberOfFileNames]; // Create array for file names. void CCombinDlg::OnBnClickedBtnAdd() { // Create dialog to open multiple files. CFileDialog

Problems with CFileDialog instantiation

巧了我就是萌 提交于 2019-12-01 06:39:22
I'm following the definition for CFileDialog , yet VS2013 is still telling me that there is no constructor available for the arguments that I'm passing in. My Code: CFile theFile; char strFilter[] = { "TXT Files (*.txt)|*.txt|All Files (*.*)|*.*||" }; CFileDialog fDlg = CFileDialog(TRUE, ".txt", NULL, 0, strFilter); Resulting Error: 1 IntelliSense: no instance of constructor "CFileDialog::CFileDialog" matches the argument list argument types are: (int, const char [5], int, int, char [46]) c:\Users\Jonathan\Documents\Visual Studio 2013\Projects\SDI\SDI\MainFrm.cpp 131 21 SDI And the CFileDialog

MFC打开/保存文件对话框:CFileDialog

随声附和 提交于 2019-11-28 20:33:14
MFC打开/保存文件对话框:CFileDialog CFileDialog 文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下: CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL , DWORD dwSize = 0 ); 参数意义如下: bOpenFileDialog 为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框。 lpszDefExt 指定默认的文件扩展名。 lpszFileName 指定默认的文件名。 dwFlags 指明一些特定风格。 lpszFilter 是最重要的一个参数,它指明可供选择的文件类型和相应的扩展名。参数格式如: "Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||"

Why CFileDialog::GetNextPathName doesn't work when the file path is long?

↘锁芯ラ 提交于 2019-11-28 07:42:28
问题 Using CFileDialog class, I select multiple files placed in a directory with a long path. It's OK when I select only one or two files; but when I select three files at the same time it returns only a part of the third file path. (Looks like it's limited to 512 characters possibly) How can I resolve this? 回答1: MFC uses a default buffer of size _MAX_PATH and that's why you are seeing that behavior. Look at dlgfile.cpp for the implementation of CFileDialog::CFileDialog and you will see m_ofn

CFileDialog 选择多个文件打开同时不同目录下,文件绝对路径不正确的问题

…衆ロ難τιáo~ 提交于 2019-11-26 04:26:09
使用CFileDialog 打开多个文件,获取文件路径。一般的使用情况为同一个文件夹目录下的某些文件,除文件名不一致外,前面路径均一样,使用GetStartPosition(),GetNextPathName()无问题; 但是对于打开文件夹目录,采用搜索的方式,显示出若干文件,且不在同一目录下,再采用上述方式,就出现了问题,不能准确获取前缀的文件夹目录地址,仅仅使用了第一个文件的绝对地址来覆盖后续的多选文件 查了好多资料,均给的第一种方式,但是并不能解决我所出现的问题,最后终于找到了一篇解决问题的帖子,现将代码等展示如下 参考地址:http://bbs.csdn.net/topics/391926645 两种方式代码如下: 方式1: CString strFilter = _T("所有支持的视频文件|*.ts;*.mp4;*.flv|MPEG-2 视频文件|*.ts|MPEG-4 视频文件|*.mp4|Adobe Flash Video|*.flv|其他文件类型|*.*||"); CFileDialog dlg(TRUE, _T(""), _T(""), OFN_ALLOWMULTISELECT |OFN_ENABLESIZING|OFN_HIDEREADONLY, strFilter); // Create buffer for file names. const DWORD