当前位置: 首页新闻中心文化教育

用汇编语言设计复杂图形窗口程序 [第142期]
发布时间:2005年09月19日  浏览次数:次  新闻作者:王敏华  摄影:  来自:秘书室    责任编辑:

   编 者 按 : 资 讯 系 02 级 计 1 班 王 凯 同 学 善 于 钻 研 , 学 习 《 汇 编 语 言 》 关 于 异 形 窗 口 知 识 后, 在 老 师 讲 稿 基 础 上 深 入 研 究 , 设 计 出 了 具 有 商 业 水 准 的 异 形 窗 口 界 面 , 是 典 型 的 创 新 型 学 生 。 任 课 老 师 给 他 上 学 期 这 门 课 打 了 100分 , 并 把 他 的 程 序 设 计 过 程 让 所 有 学 生 共 享 。 下 面 ,我 们 将 王 凯 同 学 的 体 会 发 表 于 下 , 希 望 给 大 家 以 启 迪 。

 首 先 感 谢 赵 树 升 老 师 在 我 编 程 序 过 程 中 给 予 的 指 导 和 鼓 励 , 使 我 能 够 顺 利 地 把 这 个 程 序 编 写 出 来 。 我 编 写 这 个 程 序 , 大 致 是 按 下 面 四 个 步 骤 进 行 的 :

 一 、 认 真 看 老 师 编 写 的 word 汇 编 文 档 。

 文 档 写 得 清 晰 易 懂 ,按 老 师 编 写 由 浅 到 深 的 顺 序 , 我 把 32 位 下 的 程 序 逐 个 认 真 地 研 究 了 几 遍 ;并 把 上 面 的 程 序 尝 试 着 编 写 出 来 , 一 遍 遍 地 调 试 , 直 到 编 译 成 功 。 此 时 , 我 基 本 上 看 懂 了 文 档 上 各 块 程 序 模 块 的 作 用 , 并 尝 试 着 编 写 一 些 类 似 的 、 简 单 的 小 程 序 , 看 自 己 是 否 基 本 上 能 够 成 功 地 调 用 各 模 块 。

 二 、 广 泛 搜 集 32 位 下 的 汇 编 小 程 序 , 研 究 其 源 代 码 , 进 一 步 熟 悉 其 编 写 步 骤 和 技 巧 。

 我 的 电 脑 上 有 好 多 以 前 搜 集 的 汇 编 源 码 , 我 就 认 真 地 看 ; 虽 然 有 一 些 看 不 懂 的 地 方 , 但 不 影 响 我 对 整 个 程 序 的 理 解 。 然 后 , 我 把 看 不 懂 的 地 方 按 照 老 师 说 的 , “ 有 困 难 , 找 MSDN” , 放 到 msdn 里 查 找 , 直 到 看 懂 为 止 。 接 着 , 我 对 这 些 程 序 进 行 局 部 修 改 , 看 运 行 结 果 与 以 前 有 何 不 同 。 另 外 , 在 网 上 搜 索 到 一 些 关 于 复 杂 图 形 窗 口 的 程 序 制 作 方 法 , 以 VC+ + 和 Vb 的 程 序 较 多, 但 不 尽 详 细 和 全 面 , 需 要 理 解 其 原 理 以 运 用 其 方 法 。

 三 、 在 前 两 步 基 础上 , 开 始 进 行 复 杂 图 形 窗 口 的 程 序 制 作 , 准 备 所 需 文 件 。

 在 制 作 exe 文 件 时 , 要 确 定 该 程 序 达 到 的 功 能 和 目 标 , 需 要 一 个 源 文 件 、 一 个 资 源 文 件、 一 张 位 图 、 一 张 对 应 该 位 图 的 rgn 文 件 。 位 图 可 以 用 任 何 作 图 软 件 制 作 , 如 photoshop, firework等 , rgn 文 件 的 生 成 可 以 编 写 代 码 实 现 , 但 较 为 复 杂 , 现 在 网 上 已 经 有 生 成 rgn 文 件的 小 软 件 , 如 rgn generator, 我 们 完 全 可 以 用 这 个 软 件 实 现 , 以 节 省 时 间 。 其 它 文 件 则 需 要 编 写 , 像 这 个 程 序 其 中 有 好 多 源 码 , 在 老 师 的 文 档 中 已 经 有 好 多 模 块 可 以 直 接 使 用 。

 四 、 整 个 过 程 一 定 要 认 真 细 致 , 考   虑  各  方  面  造   成 程  序  出  错  的  地  方 。

 我 在 编 写 这 个 小 程 序 时 , 有 时 找 不 到 错 误 , 但 编 译 时 提 示 出 错 , 则 要 考 虑 标 点 符 号 是 否 是 英 文 输 入 , 好 多 人 一 般 都 不 注 意 。 另 外 , .if 与 .endif  一 定 要 匹 配 , 有 时 会 忘 记 写 .endif。 有 时 还 会 因 为 系 统 故 障 问 题 或 是 编 译 器 缺 少 文 件 引 起 编 译 错 误 , 所 以 好 多 因 素 都 要 考 虑 到 。 下 面 详 细 说 一 下 程 序 的 实 现 过 程 :

 1、编 写 wk.asm  文 件 。

 程 序 代 码 可 以 到 资 讯 系 的 网 站 上 去 下 载 。

 2、制 作 一 张 位 图 。

 用 作 图 软 件 随 便 制 作一 张 位 图 , 大 小 适 中 , 比 如 我 做 的 这 张 图 , 大 小 为 437 x 389。 把 该 图 保 存为 wk.bmp, 位 图 制 作 完 毕 。

 3、制 作 位 图 的 rgn 文 件 。

 这 里 推 荐 大 家 用 rgn generator 这 个 软 件 , 该 软 件 可 以 很 容 易 制 作 出 位 图 的 rgn 文 件 。 使 用 方 法:

  (1) 点击 browse, 打 开 要 制 作 rgn 文 件 的 位 图 。

  (2) 点击 pick, 选 取 在 运 行 程 序 后 界 面 中 想 要 作 为 透 明 区 域 的 颜 色 后 , 再 点 击 OK。

 (3) 点 击 create, 生 成 rgn 文 件 , 保 存 为 wk.rgn。  

 (4) 点 击 close, rgn 文 件 制 作 完 毕 。

  4、 编 写 资 源 文 件 rsrc.rc , 代 码 如 下 : RANGE RGN“ wk.rgn” 1000BITMAP “ wk.bmp” 然 后 , 把 上 面 四 个 文 件 保 存 在 一 个 文 件 夹 下 面 , 调 用 wk.asm, 在 菜 单 “ Project”  “ Compile Resource File” 编 译 资 源 文 件 , 能 看 到 目 录 下 生 成 了 文 件 rsrc.res, 再 执 行 “ Assemble & Link” , 生 成 wk.exe, 再 执 行 run program  就 完 成 了 这 个 程 序 。

                                                                                     ( 资 讯 系      王 凯 )

 

 
版权所有 © 2004-2016 郑州升达经贸管理学院