- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
voidCReadTxtDoc::OnReadFile(){ m_strFile.RemoveAll(); //删除数组中的所有元素 CFileDialogfileDlg(TRUE,NULL,NULL,0,“文本文件|*.txt||”); //定义“打开”对话框 fileDlg.DoModal(); //打开“打开”对话框 CStringfileName=fileDlg.GetPathName(); //获取用户选择的文件名及路径 if(fileName.IsEmpty()) //如果用户没有选择文件,则直接返回 { return; } CStdioFilefile; try{ file.Open(fileName,CFile::modeRead|CFile::typeText); } catch(CFileException*e) { e-ReportError(); e-Delete(); } CStringLineStr; try{ while(file.ReadString(LineStr))//循环读取文件并添加到数组中 { m_strFile.Add(LineStr); } } catch(CFileException*e) { e-ReportError(); } file.Close(); UpdateAllViews(NULL); //更新视图}(5)利用ClassWizard在文档类中重载DeleteContents函数,当用户执行“文件”→“新建”菜单命令时删除原有文档数据。voidCReadTxtDoc::DeleteContents(){ m_strFile.RemoveAll(); CDocument::DeleteContents();}(6)在视图类中添加成员函数SetViewSize,该函数根据文档的大小设置滚动视图大小。添加数据成员m_nHeightLine,用于记录视图中当前设备环境下每行文本的高度。public: intm_nHeightLine; voidSetViewSize();SetViewSize函数如下:voidCReadTxtView::SetViewSize(){ CReadTxtDoc*pDoc=GetDocument(); intnLines=pDoc-m_strFile.GetSize(); //获取文档数据的行数 intnHeight=nLines*m_nHeightLine+20; //计算显示文档的高度 CSizesizeTotal=CSize(0,nHeight); CSizesizePage=CSize(0,nHeight/5); CSizesizeLine=CSize(0,m_nHeightLine); SetScrollSizes(MM_TEXT,sizeTotal,sizePage,sizeLine);}修改视图类的OnInitialUpdate函数,调用SetViewSize设置滚动视图大小:voidCReadTxtView::OnInitialUpdate(){ CScrollView::OnInitialUpdate(); SetViewSize();}利用ClassWizard在视图类中添加WM_CREATE消息的处理函数。当创建视图时,计算当前设备环境下每行文本的高度:intCReadTxtView::OnCreate(LPCREATESTRUCTlpCreateStruct){ if(CScrollView::OnCreate(lpCreateStruct)==-1) return-1; CClientDCdc(this); TEXTMETRICtm; dc.GetTextMetrics(tm); m_nHeightLine=tm.tmHeight+tm.tmExternalLeading; return0;}利用ClassWizard在视图类中重载OnUpdate,当文档类调用UpdateAllViews时调用该函数更新视图:voidCReadTxtView::OnUpdate(CView*pSender,LPARAMlHint,CObject*pHint)
您可能关注的文档
最近下载
- 45-2024年深圳市中考数学试卷(学生回忆3.0版本,杨帆老师整理).docx VIP
- 公德心弘扬传统主题班会PPT课件.pptx VIP
- 2025年赣西科技职业学院单招职业适应性测试题库带答案(预热题).docx VIP
- 人教版小学四年级下册数学教案(表格式).doc VIP
- 2025年空气压缩机整体行业分析报告及未来五到十年行业发展趋势报告.docx
- 文明施工、环境保护管理体系及施工现场扬尘治理措施、建筑垃圾处理方案精品.pdf
- 鲁科版四年级上册劳动项目一 清洁与卫生——班级卫生大扫除(课件).pptx
- xxx加油站安全风险分级管控与隐患排查治理双重预防机制.doc
- 小学语文2022版新课标测试题含答案.doc VIP
- 大模型时代的具身智能.pptx
文档评论(0)