61框架窗口内容摘要:
void CEx_StudentDoc::OnStuinfoAdd() { CStuInfoDlg dlg。 if (() != IDOK) return。 // 添加记录 CStudentInfo *pStudent = new CStudentInfo(, , , , )。 (pStudent)。 SetModifiedFlag()。 // 设置文档更改标志 UpdateAllViews(NULL)。 // 更新视图 } . 文档序列化示例 3. 修改 CEx_StudentDoc类代码 (1)在 class CEx_StudentDoc前面,添加包含 CStudentInfo类的头文件。 (2) 为 CEx_StudentDoc类添加下列成员变量: public: CObArray m_stuObArray。 // 对象集合类对象 (4) 为 CEx_StudentDoc类添加成员函数 int GetAllRecNum(void),用于获取集合类中对象的 个数其代码如下: int CEx_StudentDoc::GetAllRecNum() { return ()。 } . 文档序列化示例 (5) 在 CEx_StudentDoc类析构函数 ~CEx_StudentDoc添加下列代码: CEx_StudentDoc::~CEx_StudentDoc() { int nIndex = GetAllRecNum()。 while (nIndex) delete (nIndex)。 // 删除并释放对象的内存空间 ()。 } (6) 在 CEx_StudentDoc::Serialize函数中添加下列代码: void CEx_StudentDoc::Serialize(CArchiveamp。 ar) { if (()) { (ar)。 } else { (ar)。 } } . 文档序列化示例 4. 修改 CEx_StudentView类代码 void CEx_StudentView::OnDraw(CDC* pDC) { CEx_StudentDoc* pDoc = GetDocument()。 ASSERT_VALID(pDoc)。 int y = 0。 for (int nIndex = 0。 nIndex pDocGetAllRecNum()。 nIndex++) { pDocGetStudentInfoAt(nIndex)Display(y, pDC)。 y += 16。 } } 将 CEx_StudentView::OnDraw代码修改,用来将所有的学生基本信息记录显示在视图中: . 文档序列化示例 5. 修改文档的字串资源 打开文档的字串资源 IDR_MAINFRAME,将其内容修改为: 6. 编译运行并测试 Ex_Student运行结果 Ex_Student\nStudentRec\nEx_Stu\n记录文件 (*.rec)\\\nEx_Stu Document . 使用 CFile类 (1) 构造一个不带指定任何参数的 CFile对象; (2) 调用成员函数 Open并指定文件路径以及文件标志 方 式 含 义 CFile::modeCreate 表示创建一个新文件,若该文件已存在,则将文件原有内容清除。 CFile::modeNoTruncate 与 CFile::modeCreate组合。 若文件已存在,不会将文件原有内容清除。 CFile::modeRead 打开文件只读。 CFile::modeReadWrite 打开文件读与写。 CFile::modeWrite 打开文件只写。 CFile::modeNoInherit 防止子线程继承该文件。 CFile::shareDenyNone 共享文件的读和写,若其他线程用相关方式打开过此文件,则件创建失败。 CFile::shareDenyRead 禁止其他线程读此共享文件,若其他线程用相关方式打开过此文件,则创建失败。 CFile::shareDenyWrite 禁止其他线程写此共享文件,若其他线程用相关方式打开过此文件,则创建失败。 CFile::shareExclusive 禁止其他线程读写此共享文件,若其他线程用相关方式打开过此文件,即使是当前线程也会使创建失败。 CFile类的文件访问方式 . 使用 CFile类 2. 文件的读写和定位 CFile 还支持获取文件状态,包括文件是否存在、创建与修改的日期和时间、逻辑大小和路径等。 rStatus用来存放文件状态信息,它是一个 CFileStatus结构类型,该结构具有下列成员: CTime m_ctime 文件创建日期和时间 CTime m_mtime 文件最后一次修改日期和时间 CTime m_atime 文件最后一次访问日期和时间 LONG m_size 文件的逻辑大小字节数,就像 DOS命令中 DIR所显示的大小 BYTE m_attribute 文件属性 char m_szFullName[_MAX_PATH] 文件名 3. CFile和 CArchive类之间的关联 可以将一个外部磁盘文件和一个 CArchive 对象关联起来。 . 一般视图类的使用 MFC中的 CView类及其它的派生类封装了视图的各种不同的功能,它们为用户实现最新的 Windows特性提供了很大的便利。 类 名 功能描述 CScrollView 提供自动滚动或缩放功能 CFormView 提供可滚动的视 ,它由对话框模板创建 ,并具有和对话框一样的设计方法。 CRecordView 提供表单视图直接与 ODBC记录集对象关联;和所有的表单视图一样, CRecordView也是基于对话框模板设计的。 CDaoRecordView 提供表单视图直接与 DAO记录集对象关联;其它同 CRecordView。 CCtrlView 是 CEditView、 CListView、 CTreeView和 CRichEditView的基类,它们提供的文档 /视结构也适用于 Windows 98(NT)中的新控件。 CEditView 提供包含编辑控件的视;支持文本的编辑、查找、替换以及滚动功能。 CRichEditView 提供包含复合编辑控件的视;它除了 CEditView功能外还支持字体、颜色、图表及OLE对象的嵌入等。 CListView 提供包含列表控件的视;它类似于 Windows 98资源管理器的。61框架窗口
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。