面向对象可视化编程课程设计:使用MFC创建Drawing.exe
"《面向对象可视化编程》课程设计指导书201712031,涵盖了MFC框架下的图形编辑程序Drawing.exe的开发,包括SDI和MDI架构的解析,以及如何在Microsoft Visual Studio 6.0以上版本中创建MFC应用程序。" 在面向对象可视化编程中,MFC(Microsoft Foundation Classes)是一个用于构建Windows应用程序的C++类库,它封装了Windows API,简化了Windows程序的设计。本课程设计的重点在于利用MFC的"文档-视图"框架来开发一个图形编辑程序Drawing.exe。这一框架主要处理文档数据的编辑与文件存储,适用于各种需要处理文档的场景。 "文档-视图"框架包含三个核心组件:文档(Document)、视图(View)和框架(Frame)。在这个框架中,文档类(如CDrawingDoc)存储实际的数据,视图类(如CDrawingView)负责数据的显示和用户交互,而框架类(如CMainFrame)管理窗口布局和用户界面元素。 1. **单文档接口(SDI)**:SDI应用程序允许用户一次只处理一个文档。当用户尝试打开新文档时,原有的文档会被关闭。本课程设计选择了SDI,因为它的实现相对简单。 2. **多文档接口(MDI)**:MDI应用程序则支持同时打开和编辑多个文档,每个文档都有自己的视图。与SDI不同,用户可以在同一时间看到并操作多个文档。 在创建Drawing项目时,使用Microsoft Visual Studio的APPWizard向导,选择VC++语言的"单文档MFC应用程序"模板。项目名为Drawing,选择"MFC应用程序"、"单文档"和"MFC标准"项目类型。此外,推荐将默认的视图类CView替换为CScrollView,以便在图形超出窗口大小时,可以通过滚动查看全部内容。 生成的代码框架包含四个主要类: - **CDrawingApp**:作为应用程序入口点,负责初始化Windows程序,创建主框架窗口、文档和视图,并连接它们。此外,它还处理菜单命令,如"文件-新建"、"文件-打开"和"帮助-关于"。 - **CMainFrame**:这是SDI应用程序的主窗口,它创建并管理工具栏和状态栏,提供用户界面。 - **CDrawingDoc**:这个类存储图形编辑程序中的数据,如不同类型的图形对象。通过MFC的序列化技术(Serialize),它可以将文档数据保存到文件中,也能从文件加载数据。 - **CDrawingView**:这个类处理图形对象的显示和用户交互,如绘图和编辑操作。它是文档数据和用户界面的桥梁。 MFC的序列化机制是由CObject类提供的,这意味着任何要支持序列化的类都需要继承自CObject。在CDrawingDoc中,需要实现Serialize成员函数以实现文件的读写操作。 通过这四个类的协作,你可以构建一个基本的图形编辑程序,用户可以创建、打开和编辑图形文档,同时享受MFC框架带来的便利性和效率。课程设计的目标是让学生熟悉MFC编程,理解"文档-视图"架构,以及掌握图形用户界面的实现方法。
![](https://csdnimg.cn/release/download_crawler_static/86365713/bg1.jpg)
下载后可阅读完整内容,剩余6页未读,立即下载
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://profile-avatar.csdnimg.cn/3c06c28a97834795985b39ad84a0531f_weixin_35798040.jpg!1)
- 粉丝: 17
- 资源: 324
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)