如何用MFC界面上的浏览按钮打开指定的文件夹并能浏览其中的文本文档?
并可对文档进行操作?比如双击某一文档就能绘图或打开之类的,本人MFC小白,求源程序,求高手指点!
你试试getopenfilename函数
SHFileOperation() 或者CFileDialog
使用Visual C++ 6.0
方法一:使用向导生成代码
1. 新建工程,使用MFC EXE 向导,第1步选中 文档/视图架构支持, 其它可以使用默认选项。
2. 第6步时,选择工程的视图类,即 C****View 那个,将其基类设置为 CEditView,这个基类使得程序可以用来做编辑。
方法二:自己添加代码
1. 添加一个无文档/视图架构支持的MFC EXE。
2. 修改工程的视图类,即按 C****View 这样命名的类,并修改继承 CEditView 类;
class CChildView : public CEditView
3. 修改工程主窗口类,即按 CMainFrame 这样命名的类,添加一个公有方法,并按以下代码实现,m_wndView为视图类的引用:
void SetContentText(CString);
void CMainFrame::SetContentText(CString szText){
m_wndView.SetWindowText(szText);
}
给主程序类,即APP类,添加一个 OnAppOpen 方法用来加载文本文件。
void CDemoApp::OnAppOpen()
{
CFileDialog box(TRUE, "txt", NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, "(*.txt;*.inf)|*.txt;*.inf||");
if(box.DoModal() == IDOK)
{
CString szBuf, szName = box.GetPathName();
//MessageBox(NULL, szName, "Open", MB_OK);
CStdioFile *f = new CStdioFile(szName, OFN_OVERWRITEPROMPT);
f->ReadString(szBuf);
f->Close();
delete f;
((CMainFrame *)m_pMainWnd)->SetContentText(szBuf);
}
}
由于CStudioFile.ReadString()读取动作是一行行处理的,可以考虑使用CFile::Read()如果需要不分行读取。