MFC使用对话框里面打开多个文件在使用的时候,用一个数组开辟一个大的空间,保存文件的路径,然后在其他地方使用CVLOADIMAGE来载入图片,但是也可以使用CFileDialog的一个成员变量中取出。=OFN_ALLOWMULTISELECT|OFN_EXPLORER|OFN_ENABLEHOOK;//改变对话框的样式, 在MFC中使用CFile类和CFileDialog可以很简单的载入和保存文件……CFileDialog文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下:CFileDialog::CFileDialog(BOOLbOpenFileDialog,//为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框LPCTSTRlpszDefExt=NULL,//默认的文件扩展名LPCTSTRlpszFileName=NULL,//默认的文件名DWORDdwFlags=OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,//设定风格LPCTSTRlpszFilter=NULL,//列出可供选择的文件类型和相应的扩展名CWnd*pParentWnd=NULL//父窗口句柄指针); LPCTSTRlpszFilter参数格式如:"ChartFiles(*.xlc)|*.xlc|WorksheetFiles(*.xls)|*.xls|DataFiles(*.xlc;*.xls)|*.xlc;*.xls|AllFiles(*.*)|*.*||";文件类型说明和扩展名间用|分隔,同种类型文件的扩展名间可以用;分割,每种文件类型间用|分隔,末尾用||指明。创建文件对话框可以使用DoModal(),在返回后可以利用下面的函数得到用户选择:CStringCFileDialog::GetPathName()得到完整的文件名,包括目录名和扩展名如:c:\test\::GetFileName()得到完整的文件名,包括扩展名如:::GetExtName()得到完整的文件扩展名,如:txtCStringCFileDialog::GetFileTitle()得到完整的文件名,不包括目录名和扩展名如:test1POSITIONCFileDialog::GetStartPosition()对于选择了多个文件的情况得到第一个文件位置。CStringCFileDialog::GetNextPathName(POSITION&pos)对于选择了多个文件的情况得到下一个文件位置,并同时返回当前文件名。但必须已经调用过POSITIONCFileDialog::GetStartPosition()来得到最初的POSITION变量。下面是实现代码://打开文件//创建文件名缓存(fileBuffer)和文件读取缓存(rBuffer)//此处如果不把缓存置0,在后面的设定中就会出错,如果是动态申请的,请用memset或者for循环把数组清零charf
MFC 使用对话框里面打开多个文件 来自淘豆网m.daumloan.com转载请标明出处.