• MFC打开文件选择框和多选框,保存文件夹的选择,保存文件路径的选择


    CString defaultDir = "C:\";   //默认打开的文件路径  
    	CString fileName = "";         //默认打开的文件名  
    	CString filter = "文件 (*.pdf)|*.pdf||";   //文件过虑的类型  
    	CFileDialog openFileDlg(TRUE, defaultDir, fileName, OFN_HIDEREADONLY, filter, NULL);
    	//openFileDlg.GetOFN().lpstrInitialDir = "E:\FileTest\test.doc";
    	INT_PTR result = openFileDlg.DoModal();
    	CString filePath;
    	if (result == IDOK) {
    		filePath = openFileDlg.GetPathName();
    		m_fileList.clear();
    		Pdf2Png *pdf = new Pdf2Png();
    		m_fileList = pdf->runPdfToPng(filePath.GetBuffer());
    		
    		for (int i = 0; i < (int)m_fileList.size(); i++)
    		{
    			_cprintf("%s
    ", m_fileList[i]);
    		}
    		delete pdf;
    		const int len = 100;
    		sciter::value arr[len];
    		for (int i = 0; i < (int)m_fileList.size(); i++)
    		{
    			arr[i] = sciter::value(m_fileList[i].GetBuffer());
    		}
    		return sciter::value(arr, m_fileList.size());
    	}
    

      

    CString defaultDir = "C:\";   //默认打开的文件路径  
    	CString fileName = "";         //默认打开的文件名  
    	CString filter = "文件 (*.jpg; *.jpeg; *.png; *.bmp)|*.jpg;*.jpeg;*.png;*.bmp||";   //文件过虑的类型  
    	CFileDialog openFileDlg(TRUE, defaultDir, fileName, OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT, filter, NULL);
    	//openFileDlg.GetOFN().lpstrInitialDir = "E:\FileTest\test.doc";
    	INT_PTR result = openFileDlg.DoModal();
    	CString filePath;
    	if (result == IDOK) {
    		//filePath = openFileDlg.GetPathName();
    		POSITION pos = openFileDlg.GetStartPosition();
    		while (pos != NULL)
    		{
    			filePath = openFileDlg.GetNextPathName(pos);
    		}
    	}
    

      保存文件路径选择

    TCHAR szDir[MAX_PATH];
    	BROWSEINFO bi;
    	ITEMIDLIST *pidl;
    	bi.hwndOwner = this->m_hWnd;
    	bi.pidlRoot = NULL;
    	bi.pszDisplayName = szDir;//这个是输出缓冲区   
    	bi.lpszTitle = _T("选择输出文件夹:"); //标题  
    	bi.ulFlags = BIF_NEWDIALOGSTYLE;//使用新的界面,在win7中效果较好//BIF_RETURNONLYFSDIRS;   
    	bi.lpfn = NULL;
    	bi.lParam = 0;
    	bi.iImage = 0;
    	pidl = SHBrowseForFolder(&bi);//弹出对话框   
    	if (pidl == NULL)//点了取消,或者选择了无效的文件夹则返回NULL  
    		return sciter::value("false");
    
    	if (SHGetPathFromIDList(pidl, szDir))
    	{
    		savePathDir = szDir;
    		m_root = this->get_root();
    		sciter::thread(thread_saveImageAndText, cutSaveInfo);
    	}
    

      

    CFileDialog dlg(FALSE);///TRUE为OPEN对话框,FALSE为SAVE AS对话框
    	if (dlg.DoModal() == IDOK)
    	{
    		savePathDir = dlg.GetPathName();
    		_cprintf("%s
    ", savePathDir);
    	}
    

      

  • 相关阅读:
    VS10的一个问题
    有关开发的配置的有用信息
    管理Fragments(转)
    消除SDK更新时的“https://dl-ssl.google.com refused”异常--(转)
    JAVA字符串编码转换常用类
    在 Android 中调用二进制可执行程序(native executable )
    Android NDK 下的宽字符编码转换及icu库的使用(转)
    Linux字符编码转换 UTF8转GB3212
    一键生成JNI头文件方法二
    eclipse中创建NDK和JNI开发环境最简单配置方法
  • 原文地址:https://www.cnblogs.com/mypsq/p/6626196.html
Copyright © 2020-2023  润新知