crossuniverse
crossuniverse
2016-01-28 03:18
采纳率: 100%
浏览 2.9k
已采纳

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • Linux__Ubuntu
    Linux__Ubuntu 2016-01-28 08:32
    已采纳

    你试试getopenfilename函数

    点赞 评论
  • oyljerry
    oyljerry 2016-01-28 03:36

    SHFileOperation() 或者CFileDialog

    点赞 评论
  • WinsenJiansbomber
    Jimbo 2016-01-29 00: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()如果需要不分行读取。

    点赞 评论

相关推荐