用c编画板的实训报告

上传人:宝路 文档编号:16839334 上传时间:2017-11-09 格式:DOC 页数:19 大小:306.25KB
返回 下载 相关 举报
用c编画板的实训报告_第1页
第1页 / 共19页
用c编画板的实训报告_第2页
第2页 / 共19页
用c编画板的实训报告_第3页
第3页 / 共19页
用c编画板的实训报告_第4页
第4页 / 共19页
用c编画板的实训报告_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《用c编画板的实训报告》由会员分享,可在线阅读,更多相关《用c编画板的实训报告(19页珍藏版)》请在金锄头文库上搜索。

1、1一 实训目的(1)培养分析问题、解决问题的能力(2)培养考虑问题的周密性和逻辑思维能力(3)培养实际动手能力(4)培养 C+知识的综合运用能力二 实训任务和要求1.图形:带颜色的图形。 (增加选色功能)线粗不同的图形。 (修改线粗的功能)块状图。 (图形的填充色和边线颜色可以不同,由用户选择)等等。 。2. 界面工具栏,状态栏,改变鼠标,查看窗口等等3. 编辑在重新打开时和在正常情况下一样画图或者选中图形进行图形编辑。4. 文件保存EMF 文件, 导入位图文件成为一个(由位图填充的)矢量矩形等等。5. 编辑单个图像拖动,改变图形节点位置能够进行基本的图形绘制功能:直线,圆、矩形和多边形;数据

2、保存功能,能够把图形数据保存到文件中;简单的编辑功能:改变线条和填充颜色以及线宽;三 实训过程和内容3.1 需求分析(1)认识 C+编程软件C+是一种使用非常广泛的计算机编程语言。C+是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象2程序设计、制作图标等等泛型程序设计等多种程序设计风格。C +支 持 C 语 言 的 几 乎全 部 功 能 , 在 语 法 上 与 C 语 言 仅 有 极 微 妙 的 差 别 ; C+语 言 原 本 不 具 备 面 向 对 象 的设 计 功 能 , 然 而 随 着 面 向 对 象 编 程 的 概 念 的 提 出

3、以 及 如 Java 等 语 言 的 发 展 成 熟 ,C+语 言 也 开 发 出 了 支 持 面 向 对 象 功 能 的 版 本 , 现 在 编 程 者 常 用 的 VC+就 是 一 种面 向 对 象 的 语 言 ; C+强 大 ( 但 容 易 失 控 的 ) 模 板 功 能 使 它 能 在 编 译 期 完 成 许 多 工作 , 从 而 大 大 提 高 运 行 期 效 率 。 STL( C+标 准 模 板 库 , Standard Template Library) ; 随 着 STL 的 不 断 发 展 , 它 已 经 逐 渐 成 为 C+程 序 设 计 中 不 可 或 缺 的 部 分 ,

4、其 效 率 可 能 比 一 般 的 native 代 码 低 些 , 但 是 其 安 全 性 与 规 范 性 使 它 大 受 欢 迎 。(2)计算机图形的认识在计算机科学中,图形和图像这两个概念是有区别的:图形一般指用计算机绘制的画面,如直线、圆、圆弧、任意曲线和图表等;图像则是指由输入设备捕捉的实际场景画面或以数字化形式存储的任意画面。图像是由一些排列的像素组成的,在计算机中的存储格式有 BMP、PCX、TIF、GIFD 等,一般数据量比较大。它除了可以表达真实的照片外,也可以表现复杂绘画的某些细节,并具有灵活和富有创造力等特点,而与图像不同,在图形文件中只记录生成图的算法和图上的某些特点,

5、也称矢量图。在计算机还原时,相邻的特点之间用特定的很多段小直线连接就形成曲线,若曲线是一条封闭的图形,也可靠着色算法来填充颜色。它最大的优点就是容易进行移动、压缩、旋转和扭曲等变换。3.2 设计(1)C +程 序 中 的 应 用 程 序 对 象 (a)基 于 窗 口 的 应 用 程 序 还 是 使 用 MFC 比 较 多 , 所 以 主 要 介 绍 一 下 MFC。CWnd 窗 口 : 它 是 大 多 数 “看 得 见 的 东 西 ”的 父 类 ( Windows 里 几 乎 所 有 看 得见 的 东 西 都 是 一 个 窗 口 , 大 窗 口 里 有 许 多 小 窗 口 ) , 比 如 视

6、图 CView、 框 架 窗 口CFrameWnd、 工 具 条 CToolBar、 对 话 框 CDialog、 按 钮 CButton, etc; 一 个 例 外是 菜 单 ( CMenu) 不 是 从 窗 口 派 生 的 。 CDocument 文 档 , 负 责 内 存 数 据 与 磁 盘 的 交互 。 最 重 要 的 是 OnOpenDocument(读 入 ), OnSaveDocument( 写 盘 ) ,Serialize( 读 写 ) CView 视 图 : 负 责 内 存 数 据 与 用 户 的 交 互 。 包 括 数 据 的 显 示 、 用 户 操 作 的 响 应( 如

7、菜 单 的 选 取 、 鼠 标 的 响 应 ) 。 最 重 要 的 是 OnDraw(重 画 窗 口 ), 通 常 用CWnd: : Invalidate()来 启 动 它 。 另 外 , 它 通 过 消 息 映 射 表 处 理 菜 单 、 工 具 条 、 快捷 键 和 其 他 用 户 消 息 。CDC 设 备 文 本 : 无 论 是 显 示 器 还 是 打 印 机 , 都 是 画 图 给 用 户 看 。 这 图 就 抽 象 为CDC。 CDC 与 其 他 GDI( 图 形 设 备 接 口 ) 一 起 , 完 成 文 字 和 图 形 、 图 像 的 显 示 工 作 。把 CDC 想 象 成 一

8、 张 纸 , 每 个 窗 口 都 有 一 个 CDC 相 联 系 , 负 责 画 窗 口 。 CDC 有 个 常用 子 类 CClientDC( 窗 口 客 户 区 ) , 画 图 通 常 通 过 CClientDC 完 成 。 CDialog: 对 话 框 CWinApp 应 用 程 序 类 : 似 于 C 中 的 main 函 数 , 是 程 序 执 行 的 入 口 和 管 理 者 ,负 责 程 序 建 立 、 消 灭 , 主 窗 口 和 文 档 模 板 的 建 立 。CGdiObject 及 子 类 : 用 于 向 设 备 文 本 画 图 。 它 们 都 需 要 在 使 用 前 选 进

9、DC。 CPen 笔 : 画 线 CBrush 刷 子 : 填 充 3CFont 字 体 : 控 制 文 字 输 出 的 字 体 CBitmap: 位 图 CPalette: 调 色 板 CRgn 区 域 : 指 定 一 块 区 域 可 以 用 于 做 特 殊 处 理 。 CFile 文 件 : 最 重 要 的 不 外 是 Open( 打 开 ) , Read( 读 入 ) , Write( 写 ) CString 字 符 串 : 封 装 了 C 中 的 字 符 数 组CPoint 点 : ( x, y) 对 CRect 矩 形 : ( left, top, right, bottom) CS

10、ize 大 小 : ( cx, cy) 对 ( 宽 、 高 )(b) MFC 五 大 群 组 General Purpose classes: 提 供 字 符 串 类 、 数 据 处 理 类 ( 如 数 组 与 链 表 ) ,异 常 情 况 处 理 类 、 文 件 类 等 。 Windows API classes: 用 来 封 装 Windows API, 例 如 窗 口 类 、 对 话 框 类 、DC 类 等 。 Application framework classes: 组 成 应 用 程 序 骨 干 类 , 即 此 组 类 , 包 括Dcoument/View、 消 息 泵 、 消

11、息 映 射 、 消 息 传 递 、 动 态 创 建 、 文 件 读 写 等 等 。 High level abstractions: 包 括 工 具 栏 、 状 态 栏 、 拆 分 窗 口 、 滚 动 窗 口 等等 。 视 觉 性 UI 对 象 属 于 此 类 , 例 如 工 具 栏 CToolBar、 状 态 栏 CStatusBar、 对 话框 列 CDialogBar。 加 强 型 的 View 也 属 此 类 , 如 可 滚 动 的 ScrollView、 以 对 话 框为 基 础 的 CFormView、 小 型 文 字 编 辑 器 CEditView、 树 状 结 构 的 CTre

12、eView, 支 持RTF 文 件 格 式 的 CRichEditView 等 等 。 operation system extensions: 包 括OLE、 ODBC、 DAO、 MAPI、 WinSock、 ISAPI 等 等 。(2)文档对象、视图对象和框架对象在 MFC 中 引 入 了 文 档 -视 图 结 构 的 概 念 , 文 档 相 当 于 数 据 容 器 , 视 图 相 当 于 查看 数 据 的 窗 口 或 是 和 数 据 发 生 交 互 的 窗 口 。 因 此 一 个 完 整 的 应 用 一 般 由 四 个 类 组 成 :CWinApp 应 用 类 , CFrameWnd

13、窗 口 框 架 类 , CDocument 文 档 类 , CView 视 类 。 在 程序 运 行 时 CWinApp 将 创 建 一 个 CFrameWnd 框 架 窗 口 实 例 , 而 框 架 窗 口 将 创 建 文 档模 板 , 然 后 有 文 档 模 板 创 建 文 档 实 例 和 视 实 例 , 并 将 两 者 关 联 。 一 般 来 讲 我 们 只 需对 文 档 和 视 图 进 行 操 作 , 框 架 的 各 种 行 为 已 经 被 MFC 安 排 好 了 而 不 需 人 为 干 预 ,这 也 是 设 计 文 档 -视 结 构 的 本 意 , 让 我 们 将 注 意 力 放 在

14、 完 成 任 务 上 而 从 界 面 编 写 中解 放 出 来 。 在 应 用 中 一 个 视 图 对 应 一 个 文 档 , 但 一 个 文 档 可 以 包 含 多 个 视 图 。 一个 应 用 中 只 用 一 个 框 架 窗 口 , 对 多 文 档 界 面 来 讲 可 能 有 多 个 MDI 子 窗 口 。 每 一 个视 图 都 是 一 个 子 窗 口 , 在 单 文 档 界 面 中 父 窗 口 即 是 框 架 窗 口 , 在 多 文 档 界 面 中 父 窗口 为 MDI 子 窗 口 。 一 个 多 文 档 应 用 中 可 以 包 含 多 个 文 档 模 板 , 一 个 模 板 定 义 了

15、 一 个文 档 和 一 个 或 多 个 视 图 之 间 的 对 应 关 系 。 同 一 个 文 档 可 以 属 于 多 个 模 板 , 但 一 个 模板 中 只 允 许 定 义 一 个 文 档 。 同 样 一 个 视 图 也 可 以 属 于 多 个 文 档 模 板 。 一 般 来 说 用户 的 输 入 /输 出 基 本 都 是 通 过 视 图 进 行 , 但 一 些 例 外 的 情 况 下 可 能 需 要 和 框 架 直 接发 生 作 用 。 在 使 用 菜 单 时 大 家 会 发 现 当 一 个 菜 单 没 有 进 行 映 射 处 理 时 为 禁 止 状 态 , 在 多 视图 的 情 况 下

16、 菜 单 的 状 态 和 处 理 映 射 是 和 当 前 活 动 视 相 联 系 的 , 这 样 MFC 可 以 保 证视 他 能 正 确 的 接 收 到 各 种 消 息 , 但 有 时 候 也 会 产 生 不 便 。 有 一 个 解 决 办 法 就 是 在 框架 中 对 消 息 进 行 处 理 , 这 样 也 可 以 保 证 当 前 文 档 可 以 通 过 框 架 得 到 当 前 消 息 。 4在 用 户 进 行 输 入 后 如 何 使 视 的 状 态 得 到 更 新 ? 这 个 问 题 在 一 个 文 档 对 应 一 个 视图 时 是 不 存 在 的 , 但 是 现 在 有 一 个 文 档 对 应 了 两 个 视 图 , 当 在 一 个 视 上 进 行 了 输 入时 如 何 保 证 另 一 个 视 图 也 得 到 通 知 呢 ? MFC 的 做 法 是 利 用 文 档 来 处 理 的 , 因 为 文 档管 理 着 当 前 和 它 联 系 的 视 图 , 由 它 来 通 知 各 个

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号