导航:首页 > 净水问答 > mfc打开文件过滤

mfc打开文件过滤

发布时间:2021-12-22 18:26:15

㈠ mfc自带打开菜单,如何开始读文件

如果是打开图片文件或者其它特定格式文件,需要重装菜单函数,自己处理比较好。
如果是文本文件,MFC的文档视图构架中,已经处理了打开文件操作,你可以通过文档类的序列化方式直接读取和保存文件。
Doc类的成员函数Serialize中这样
::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO: add storing code here
ar << m_strBookName;
}
else
{
// TODO: add loading code here
ar >>m_strBookName;
}
}
其中m_strBookName是文档类public成员变量(类型自己根据需要指定),你就可以在视图类中,通过GetDocuemnt()->m_strBookName访问读取的文件内容了。

㈡ 如何在mfc中实现打开一个文件,获取文件名

这个满足你的要求s返回文件路径#defineDLG_FILTER"ALLFiles(*.*)|*.*||"#defineDLG_EXT"*"CFileDialogdlg(TRUE,_T(DLG_EXT),NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,_T(DLG_FILTER));if(dlg.DoModal()==IDOK){POSITIONpos=dlg.GetStartPosition();while(pos!=0){CStrings=dlg.GetNextPathName(pos);}}下面代码,可以选择文件夹,会返回文件夹的路径需要自己查找每个文件char*GetPath(HWNDhWnd,char*pBuffer){BROWSEINFObf;LPITEMIDLISTlpitem;memset(&bf,0,sizeofBROWSEINFO);bf.hwndOwner=hWnd;bf.lpszTitle="选择路径";bf.ulFlags=BIF_RETURNONLYFSDIRS;//属性你可自己选择lpitem=SHBrowseForFolder(&bf);if(lpitem==NULL)//如果没有选择路径则返回0return0;//如果选择了路径则复制路径,返回路径长度SHGetPathFromIDList(lpitem,pBuffer);returnpBuffer;}

㈢ MFC打开文件,怎么设置查找文件的路径求高手解答........

关于CFile的文件路径,分两种方式,一种是绝对路径,一种是相对路径。

绝对路径就是”D:\a\xx.txt"的形式,你可以直接指定,也可以用CFileDialog弹出对话框由用户界面指定;

相对路径分默认路径和工作路径获取两种。你可以用".\aa\xx.txt"指定默认目录子目录或者省略前面的.\也是可以的;工作路径获取比较靠谱(因为默认路径可能会造成不确定性,在程序运行过程中可能会被其它原因改变),工作路径要在程序运行入口的时候通过GetCurrentDirectory函数获取并保存起来,方便随时使用,这个是一个例如"d:\yourProject\"的字符串形式,每次拼接子目录和文件名即可,示例代码如下:

charpBuf[MAX_PATH];//存放路径的变量
GetCurrentDirectory(MAX_PATH,pBuf);//获取程序的当前目录
strcat(pBuf,"\");
CStringstrtemp=pBuf;

㈣ MFC打开指定文件夹

使用打开文件夹对话框,设置好初始路径。

㈤ MFC中如何使用CFile打开一个txt文件并读取其中的内容到

为什么只读2个字符:因为mFile.Read(sRead,2),第二个参数指定了最多读几个字符。你自己指定了读两个字符。

为什么输出了文件名。没有代码没法准确判断。我估计跟缓冲区溢出有点关系,你可以试着把sRead数组改大一点。

㈥ mfc如何打开一个文件夹下的所有的文件

可不可以给我发个,能够打开已知文件名.pdf的文件程序 也是按键触发

㈦ MFC的文件对话框过滤器怎么设置

CFileDialog::CFileDialog

CFileDialog(BOOL bOpenFileDialog,
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL
);

参数: bOpenFileDialg 如果为TRUE, 则创建文件打开对话框;如果为FALSE,则构造一个File Save As(另存为)对话框。
lpszDefExt 缺省文件扩展名,如果用户在文件名编辑框中不包含扩展名,则lpszDefExt定义的扩展名自动加到文件名后。如果为NULL,则不添加扩展名。
lpszFileName 初始显示于文件名编辑框中的文件名,如果为NULL,则不显示初始文件名。
dwFlags 一个或多个标志的组合,使你可定制对话框。要了解这些标志的描述,可参阅联机文档“Win32 SDK”中的OPENFILENAME结构。如果你改变m_ofn.Flags结构成员,在改变中用OR操作保持缺省行为完整。
lpszFilter 一列字符串对,指定可以应用到文件的过滤器。如果指定过滤器,仅被选择的文件显示于文件列表框中。请参阅说明部分,了解如何使用过滤器。
pParentWnd 指向文件对话框对象的父窗口或拥有者窗口。

说明:
调用此成员函数构造一个标准Windows文件对话框对象,或构造一个打开对话框或构造一个存盘对话框,根据bOpenFileDialog的值决定。
OFN_ALLOWMULTISELECT标志。你应提供文件名缓冲区来放置返回的多个文件名的列表,这通过用一个分配了的缓冲区指针替换m_ofn.lpstrFile来实现,要在创建了CFileDialog之后调用DoModal之前进行此操作。另外,必须用m_ofn.lpstrFile指向的缓冲区字节数来设置m_ofn.nMaxFile。
为使用户用鼠标或键盘改变一个Explorer风格对话框的大小,设置OFN_ENABLESIZING标志,这仅当你提供一个钩子进程或定制模板时才有必要设置。此标志仅与一个Explorer风格的对话框一起工作,旧风格的对话框不可改变大小。
lpszFilter参数用于判断文件名类型及文件列表框中哪些可被显示。双字符串的第一个字符串描述过滤器,第二个串表明使用的文件扩展名,多重扩展可用“;”来指定。字符串由两个“|”字符结尾,最后是一个NULL。也可使用CString对象作为参数。
例如,Mirosoft Excel 允许用户用.XLC扩展名(表)或.XLS(工作表)打开文件,Excel过滤器应如下:
static char BASED_CODE szFilter[] =
"Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";

㈧ 如何在MFC中让一个按钮实现打开文件(弹出选择文件窗口)的功能

1、打开软件。

㈨ MFC 打开文件的问题

pathname.Replace ("\\","\\\\"); //多余

㈩ mfc怎么实现打开文件夹

CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR
lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD
dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR
lpszFilter = NULL, CWnd* pParentWnd = NULL );
参数意义如下:
bOpenFileDialog 为TRUE则显示打开对话框,为FALSE则显示保
存对话文件对话框。
lpszDefExt 指定默认的文件扩展名。
lpszFileName 指定默认的文件名。
dwFlags 指明一些特定风格。
lpszFilter 是最重要的一个参数,它指明可供选择的文件类型
和相应的扩展名。
//打开文件对话框窗口 选择所要打开的记事本文件
void CLoveDlg::OnButtonRead()
{

CFileDialog fileDlg(TRUE);
if(fileDlg.DoModal() == IDOK)
{
CString str;
CFile f;
f.Open(fileDlg.GetFileName(),CFile::modeReadWrite);
f.Read(str.GetBuffer(f.GetLength()),f.GetLength());
f.Close();
SetDlgItemText(IDC_EDIT1,str);
//或者使用此语句: GetDlgItem(IDC_EDIT1)->SetWindowText(str);
}
}

//保存记事本格式的文件
void CLoveDlg::OnButtonSave()
{
CString str;
CFileDialog FileDlg(FALSE,"txt","QQ网名伪原创",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT);
FileDlg.m_ofn.lpstrInitialDir="桌面:\\";
if(FileDlg.DoModal()==IDOK)
{
ofstream ofs(FileDlg.GetPathName());
GetDlgItem(IDC_EDIT2)->GetWindowText(str);
/* 或者:CStatic*pst=(CStatic*)GetDlgItem(IDC_EDIT2);//第二个编辑框里的控件ID
pst->GetWindowText(str); */
ofs<<str; //输出文本到记事本里
}
}
注意:#include<fstream.h> //保存文本 函数所要的头文件.

阅读全文

与mfc打开文件过滤相关的资料

热点内容
液相用溶剂过滤器 浏览:674
纳滤水导电率 浏览:128
反渗透每小时2吨 浏览:162
做一个纯净水工厂需要多少钱 浏览:381
最终幻想4回忆技能有什么用 浏览:487
污水提升器采通 浏览:397
反渗透和不发渗透净水器有什么区别 浏览:757
提升泵的扬程 浏览:294
泽德提升泵合肥经销商 浏览:929
饮水机后盖漏水了怎么办 浏览:953
小型电动提升器 浏览:246
半透膜和细胞膜区别 浏览:187
废水拖把池 浏览:859
十四五期间城镇污水处理如何提质增效 浏览:915
怎么测试空气净化器的好坏 浏览:519
提升泵是干嘛的 浏览:744
布油做蒸馏起沫咋办 浏览:252
广州工业油烟净化器一般多少钱 浏览:204
喜哆哆空气净化器效果怎么样 浏览:424
油烟净化器油盒在什么位置 浏览:582