2 crossuniverse crossuniverse 于 2016.01.28 11:18 提问

如何用MFC界面上的浏览按钮打开指定的文件夹并能浏览和处理其中的文本文档?

如何用MFC界面上的浏览按钮打开指定的文件夹并能浏览其中的文本文档?
并可对文档进行操作?比如双击某一文档就能绘图或打开之类的,本人MFC小白,求源程序,求高手指点!

3个回答

Linux__Ubuntu
Linux__Ubuntu   2016.01.28 16:32
已采纳

你试试getopenfilename函数

oyljerry
oyljerry   Ds   Rxr 2016.01.28 11:36

SHFileOperation() 或者CFileDialog

WinsenJiansbomber
WinsenJiansbomber   2016.01.29 08:31

使用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);
    }
  1. 添加菜单,增设一个 打开(&O) 菜单项,设置好ID, 假设为ID_APP_OPEN。然后在主程序类中的消息映射(BEGIN_MESSAGE_MAP)中添加菜单和相应处理方法的映射: ON_COMMAND(ID_APP_OPEN, OnAppOpen)
  2. 给主程序类,即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()如果需要不分行读取。

crossuniverse
crossuniverse 多谢!
9 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
MFC打开对话框和浏览文件夹操作
一、打开文件夹: 1、CFileDialog实现 01 CFileDialog hFileDlg(TRUE,NULL,NULL,OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST|OFN_READONLY, 02        TEXT("支持的图像文件 (*.jpg;*.gif;*.bmp;
如何实现VS按钮打开文件夹
作为一个IT新手以及小白,每天不会的东西实在太多了,但是自己又不会只好百度啦!在这里我找到了一种比较常见的方法,想在这里和同样是新手的人分享一下,大神请略过发现了一个更简单的,来更新一下吧,直接三行代码搞定。  private void button1_Click(object sender, EventArgs e)        {            //打开文件夹浏览          ...
MFC总结(10) ---- MFC中CFileDialog 实现浏览文件和浏览目录功能
CFileDialog文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下: CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVE
C# 点击按钮浏览文件夹
C# 点击按钮浏览文件夹
MFC添加一个按钮,实现浏览功能
代码如下: CString CTestDlg::brow(LPCTSTR filter) { OPENFILENAME ofn; TCHAR szFilename[512]=_T(""); ZeroMemory(&ofn, sizeof(OPENFILENAME)); ofn.lStructSize = sizeof(OPENFILENAME); ofn.hwndOwner =
MFC 实现浏览按钮选择文件
实现的效果图如下所示: 2、实现上面的效果,在MFC下,代码如下: (1)在头文件中(实现的代码是): #pragma once #include "afxwin.h" // CTestDLLDlg 对话框 class CTestDLLDlg : public CDialog { // 构造 public: CTestDLLDlg(CWnd* pParent = N
怎样在wincc中用按钮打开某个文件夹及其他应用程序
本文介绍了在wincc中通过按钮来打开文件夹(如存放报表的文件夹),以及打开某个应用程序(如计算机、画图等)的方法。
Qt中浏览文件夹的实现
QT 创建文件夹 1 bool QDir::mkdir ( const QString & dirName ) const 创建一个子目录名为目录名。 如果成功则返回TRUE,否则返回false。 1 bool QDir::mkpath ( const QString
MFC浏览文件夹、新建文件夹功能
使用API ——SHBrowseForFolder 以下是用户获取某一目录的函数,可以用于保存文件前设置路径: bool getDir(string& mdir) { BROWSEINFO bi; bi.hwndOwner=NULL; bi.pidlRoot=NULL; bi.pszDisplayName=NULL; bi.lpszTitle=NULL; bi.ulFlags
MFC 打开文件夹读取图片
主要使用CFileDialog类实现: // void ReadSource() void ReadSource() { CFileDialog ccFileDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT, _T("Image files(*.png; *.jpg)|*.