【MFC】怎样读取rtf文件并举行展示

[复制链接]
发表于 2025-12-6 22:17:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
tf是微软的一个带格式的文件,比word简单,我们可以用写字板等步伐打开编辑。下面以具体实例讲授如安在本身步伐中展示rtf文件。
起首使用VS2022创建一个MFC的工程。

VIEW类须要选择richview类,用于展示,如下图:

运行结果如下:


在创建后获取控制界面的类:
  1. int CMFCApplication8View::OnCreate(LPCREATESTRUCT lpCreateStruct)
  2. {
  3.         if (CRichEditView::OnCreate(lpCreateStruct) == -1)
  4.                 return -1;
  5.         CRichEditCtrl& lc = GetRichEditCtrl();
  6.         m_pRcCtrl = &lc;
  7.         return 0;
  8. }
复制代码
加载rtf文件并举行展示:
  1. void CMFCApplication8View::LoadRtfFile(CString strRTFFileName)
  2. {
  3.         m_pRcCtrl->SetReadOnly(FALSE);
  4.         CString strPath;
  5.         strPath = strRTFFileName;
  6.         CFile m_cFile;
  7.         BOOL b = m_cFile.Open(strPath, CFile::modeRead);
  8.         if (b)
  9.         {
  10.                 CArchive ar(&m_cFile, CArchive::load);
  11.                 Serialize(ar);
  12.                 ar.Close();
  13.                 m_cFile.Close();
  14.         }
  15.         m_pRcCtrl->SetReadOnly();
  16. }
复制代码
在菜单中增长调入入口:

  1. void CMainFrame::On32771()
  2. {
  3.         CMFCApplication8Doc* pDoc;
  4.         POSITION pos = theApp.m_pDocTemplate->GetFirstDocPosition();
  5.         while (pos != NULL)
  6.         {
  7.                 pDoc = (CMFCApplication8Doc*)(theApp.m_pDocTemplate->GetNextDoc(pos));
  8.                 if (pDoc == NULL) break;
  9.                 POSITION pos1 = pDoc->GetFirstViewPosition();
  10.                 if (pos1 != NULL)
  11.                 {
  12.                         CMFCApplication8View* pView = (CMFCApplication8View*)pDoc->GetNextView(pos1);
  13.                         pView->LoadRtfFile(_T("C:/temp/MFCApplication8/x64/Debug/test.rtf"));
  14.                 }
  15.         }
  16. }
复制代码
末了结果如图:

具体代码可以见资源
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表