第 2 章 建 立 基 本 应 用 程 序

第 2 章 建 立 基 本 应 用 程 序 - 图1第 2 章 建 立 基 本 应 用 程 序 - 图2第 2 章 建 立 基 本 应 用 程 序 - 图3第 2 章 建 立 基 本 应 用 程 序 - 图4第 2 章 建 立 基 本 应 用 程 序 - 图5第 2 章 建 立 基 本 应 用 程 序 - 图6第 2 章 建 立 基 本 应 用 程 序 - 图7第 2 章 建 立 基 本 应 用 程 序 - 图8第 2 章 建 立 基 本 应 用 程 序 - 图9学 习 一 门 新 语 言 甚 至 更 新 你 曾 经 用 过 一 段 时 间 的 某 门 语 言 的 知 识 从 来就 不 会 像 郊 游 野 餐 那 么 容 易 旧 的 语 言 已 经 习 惯 而 新 的 语 言 总 是 包 含 一 些 不熟 悉 的 东 西 用 起 来 别 别 扭 扭 然 而 如 果 你 想 紧 跟 当 今 商 业 化 世 界 的 潮 流就 必 须 学 习 新 的 语 言 第 2 章 建 立 基 本 应 用 程 序 - 图10 或 最 低 程 度 上 更 新 老 语 言 的 知 识 第 2 章 建 立 基 本 应 用 程 序 - 图11

第 2 章 建 立 基 本 应 用 程 序 - 图12第 2 章 建 立 基 本 应 用 程 序 - 图13第 2 章 建 立 基 本 应 用 程 序 - 图14第 2 章 建 立 基 本 应 用 程 序 - 图15第 2 章 建 立 基 本 应 用 程 序 - 图16第 2 章 建 立 基 本 应 用 程 序 - 图17第 2 章 建 立 基 本 应 用 程 序 - 图18第 2 章 建 立 基 本 应 用 程 序 - 图19第 2 章 建 立 基 本 应 用 程 序 - 图20第 2 章 建 立 基 本 应 用 程 序 - 图21第 2 章 建 立 基 本 应 用 程 序 - 图22第 2 章 建 立 基 本 应 用 程 序 - 图23第 2 章 建 立 基 本 应 用 程 序 - 图24那 么 如 何 以 最 短 的 时 间 跨 越 学 习 曲 线 底 部 呢 我 认 识 的 许 多 程 序 员 都 有一 个 用 于 学 习 新 语 言 的 基 本 应 用 程 序 实 际 上 真 正 高 水 平 的 程 序 员 都 有 几 个基 本 的 应 用 程 序 称 之 为 测 试 套 件 其 实 际 用 途 就 是 学 习 和 测 试 新 的 语 言这 类 应 用 程 序 的 功 能 相 对 比 较 全 面 也 可 以 再 增 加 其 它 的 功 能 否 则 的 话 你就 不 知 道 是 否 真 正 学 会 了 这 门 语 言

第 2 章 建 立 基 本 应 用 程 序 - 图25第 2 章 建 立 基 本 应 用 程 序 - 图26第 2 章 建 立 基 本 应 用 程 序 - 图27第 2 章 建 立 基 本 应 用 程 序 - 图28第 2 章 建 立 基 本 应 用 程 序 - 图29第 2 章 建 立 基 本 应 用 程 序 - 图30第 2 章 建 立 基 本 应 用 程 序 - 图31第 2 章 建 立 基 本 应 用 程 序 - 图32第 2 章 建 立 基 本 应 用 程 序 - 图33第 2 章 建 立 基 本 应 用 程 序 - 图34上 一 章 已 经 考 察 了 V is u a l C + + 的 功 能 本 章 打 算 给 读 者 一 个 V isu a l C + + 编 程的 初 步 印 象 即 使 你 是 个 C+ + 高 手 也 同 样 值 得 花 点 时 间 玩 一 玩 V is u a l C + + 的 这 个 新 版 本 这 样 才 能 确 定 如 何 使 用 该 产 品 建 立 这 类 测 试 套 件 将 帮 助你 了 解 如 何 使 用 V is u a l C + + 以 及 V is u a l C + + 能 为 你 做 些 什 么

第 2 章 建 立 基 本 应 用 程 序 - 图35第 2 章 建 立 基 本 应 用 程 序 - 图36第 2 章 建 立 基 本 应 用 程 序 - 图37第 2 章 建 立 基 本 应 用 程 序 - 图38第 2 章 建 立 基 本 应 用 程 序 - 图39第 2 章 建 立 基 本 应 用 程 序 - 图40第 2 章 建 立 基 本 应 用 程 序 - 图41当 然 我 们 要 花 点 时 间 建 立 能 够 使 用 的 应 用 程 序 为 简 单 起 见 对 绝 大 多数 情 况 来 说 我 把 应 用 程 序 完 整 功 能 实 现 的 任 务 留 给 了 读 者 然 而 不 要 忘 记本 章 的 真 正 目 的 是 演 示 — — 当 样 本 程 序 与 实 际 工 作 十 分 相 似 时 或 许 就 到 了 抛

第 2 章 建 立 基 本 应 用 程 序 - 图42第 2 章 建 立 基 本 应 用 程 序 - 图43第 2 章 建 立 基 本 应 用 程 序 - 图44第 2 章 建 立 基 本 应 用 程 序 - 图45第 2 章 建 立 基 本 应 用 程 序 - 图46第 2 章 建 立 基 本 应 用 程 序 - 图47第 2 章 建 立 基 本 应 用 程 序 - 图48第 2 章 建 立 基 本 应 用 程 序 - 图49第 2 章 建 立 基 本 应 用 程 序 - 图50第 2 章 建 立 基 本 应 用 程 序 - 图51第 2 章 建 立 基 本 应 用 程 序 - 图52第 2 章 建 立 基 本 应 用 程 序 - 图53第 2 章 建 立 基 本 应 用 程 序 - 图54第 2 章 建 立 基 本 应 用 程 序 - 图55第 2 章 建 立 基 本 应 用 程 序 - 图56第 2 章 建 立 基 本 应 用 程 序 - 图57第 2 章 建 立 基 本 应 用 程 序 - 图58第 2 章 建 立 基 本 应 用 程 序 - 图59第 2 章 建 立 基 本 应 用 程 序 - 图60弃样本程序 开始实际工作的时候 了

Web 链 接 任 何 严 肃 的 程 序 员 都 会 花 点 时 间 在 Internet 上 学 习 新 的 编 程 技巧 Microsoft 主 持 了 各 种 Visual C++ 的 新 闻 组 其 中 一 些 相 当 专 业最 通 用 的 新 闻 组 是 microsoft. public.vc.language 如 果 你 想 了 解ActiveX 技 术 的 进 展 情 况 或 许 应 该 到 micro- soft.publi c.vc.activextemplate lib 看 一 看 查 找 数 据 库 信 息 的 一个 好 位 置 是 microsoft. public.vc.database 最 活 跃 的 新 闻 组 之 一是 microsoft. public.vc.mfc 这 里 专 门 讨 论 Microsoft Foundation Classes 第 2 章 建 立 基 本 应 用 程 序 - 图61 MFC 微 软 基 础 类 库 第 2 章 建 立 基 本 应 用 程 序 - 图62 当 然 还 有 另 外 两 个 与 M F C 相 关 的新 闻 组 microsoft. public.vc.mfc.docvie w 和 micro- soft.publi c.vc.mfc.macintosh 最 后 不 要 忘 记 看 一 看microsoft. public.win32.program mer 下 的 一 般 Windows 编 程 新 闻 组 第 2 章 建 立 基 本 应 用 程 序 - 图63 它 下 面 有 许 多 与 程 序 员 有 关 的 新 闻 组 因 此 你 需 要 选 择 最 适 合 自己 需 要 的 新 闻 组 第 2 章 建 立 基 本 应 用 程 序 - 图64

  1. 1 了 解 应 用 程 序 类 型

第 2 章 建 立 基 本 应 用 程 序 - 图65第 2 章 建 立 基 本 应 用 程 序 - 图66第 2 章 建 立 基 本 应 用 程 序 - 图67第 2 章 建 立 基 本 应 用 程 序 - 图68第 2 章 建 立 基 本 应 用 程 序 - 图69第 2 章 建 立 基 本 应 用 程 序 - 图70V is u a l C + + 有 能 力 创 建 你 能 够 想 像 到 以 及 有 些 你 想 不 到 第 2 章 建 立 基 本 应 用 程 序 - 图71 的 任 何 应 用 程 序然 而 从 整 体 上 看 应 用 程 序 可 以 分 为 五 种 类 型 这 就 是 本 文 首 先 要 集 中 讨 论的 内 容

  • 第 2 章 建 立 基 本 应 用 程 序 - 图72控 制

    台 应 用 程 序 适 用 于 你 真 正 需 要 与 遗 留 系 统 保 持 某 种 兼 容 性 或 不 需 要 为用 户 提 供 全 功 能 操 作 界 面 的 情 况

  • 第 2 章 建 立 基 本 应 用 程 序 - 图73第 2 章 建 立 基 本 应 用 程 序 - 图74

    于 对 话 框 的 应 用 程 序 通 常 是 实 用 程 序 的 专 利 也 适 用 于 极 小 型 不 需 要 菜单 系 统 的 应 用 程 序

  • 第 2 章 建 立 基 本 应 用 程 序 - 图75第 2 章 建 立 基 本 应 用 程 序 - 图76第 2 章 建 立 基 本 应 用 程 序 - 图77

    文 档 应 用 程 序 适 用 于 操 作 自 有 数 据 的 简 单 应 用 程 序 比 如 记 事 本 或 小 型数 据 库 前 端 应 用 这 类 应 用 程 序 也 需 要 某 种 类 型 的 菜 单 系 统

  • 第 2 章 建 立 基 本 应 用 程 序 - 图78第 2 章 建 立 基 本 应 用 程 序 - 图79第 2 章 建 立 基 本 应 用 程 序 - 图80第 2 章 建 立 基 本 应 用 程 序 - 图81第 2 章 建 立 基 本 应 用 程 序 - 图82第 2 章 建 立 基 本 应 用 程 序 - 图83

    文 档 应 用 程 序 是 提 供 完 整 功 能 的 应 用 程 序 比 如 字 处 理 程 序 或 电 子 表 格由 于 多 文 档 应 用 程 序 是 C+ + 编 程 中 十 分 复 杂 的 部 分 因 此 当 你 考 虑 建 立这 类 应 用 程 序 时 应 该 在 V is u a l C + + 的 灵 活 性 与 诸 如 V is u a l B a s ic 之 类 的 快速 应 用 开 发 工 具 提 供 的 速 度 之 间 进 行 权 衡

  • 第 2 章 建 立 基 本 应 用 程 序 - 图84第 2 章 建 立 基 本 应 用 程 序 - 图85第 2 章 建 立 基 本 应 用 程 序 - 图86第 2 章 建 立 基 本 应 用 程 序 - 图87第 2 章 建 立 基 本 应 用 程 序 - 图88第 2 章 建 立 基 本 应 用 程 序 - 图89第 2 章 建 立 基 本 应 用 程 序 - 图90第 2 章 建 立 基 本 应 用 程 序 - 图91第 2 章 建 立 基 本 应 用 程 序 - 图92第 2 章 建 立 基 本 应 用 程 序 - 图93第 2 章 建 立 基 本 应 用 程 序 - 图94第 2 章 建 立 基 本 应 用 程 序 - 图95第 2 章 建 立 基 本 应 用 程 序 - 图96第 2 章 建 立 基 本 应 用 程 序 - 图97第 2 章 建 立 基 本 应 用 程 序 - 图98第 2 章 建 立 基 本 应 用 程 序 - 图99第 2 章 建 立 基 本 应 用 程 序 - 图100

    于 HT M L 的 应 用 程 序 是 V is u a l C ++ 6 .0 新 增 的 应 用 程 序 类 型 它 们 操 作某 种 类 型 的 数 据 像 单 文 档 或 多 文 档 应 用 程 序 那 样 第 2 章 建 立 基 本 应 用 程 序 - 图101 但 与 In te rn e t 结 合 在了 一 起 作 为 标 准 编 辑 器 的 替 代 物 你 的 用 户 会 看 到 W e b 浏 览 器 风 格 的 前端 应 用

注 释 请 注 意 本 章 我 们 在 讨 论 应 用 程 序 Visual C++ 有 能 力 创 建 各 种 不 同类 型 的 代 码 使 用 Visual C++ 不 仅 可 以 创 建 D L L ActiveX 控 件 ISAPI 扩 展 程 序 设 备 驱 动 程 序 像 屏 幕 保 护 器 之 类 的 后 台 应 用 程 序 甚 至也 可 以 扩 展 Visual C++ 本 身 本 章 中 我 们 只 讨 论 一 般 的 应 用 程 序随 着 本 书 的 展 开 我 们 也 会 介 绍 许 多 其 它 类 型 的 代 码

控 制 台 应 用 程 序

第 2 章 建 立 基 本 应 用 程 序 - 图102第 2 章 建 立 基 本 应 用 程 序 - 图103第 2 章 建 立 基 本 应 用 程 序 - 图104第 2 章 建 立 基 本 应 用 程 序 - 图105第 2 章 建 立 基 本 应 用 程 序 - 图106第 2 章 建 立 基 本 应 用 程 序 - 图107第 2 章 建 立 基 本 应 用 程 序 - 图108第 2 章 建 立 基 本 应 用 程 序 - 图109第 2 章 建 立 基 本 应 用 程 序 - 图110第 2 章 建 立 基 本 应 用 程 序 - 图111第 2 章 建 立 基 本 应 用 程 序 - 图112第 2 章 建 立 基 本 应 用 程 序 - 图113第 2 章 建 立 基 本 应 用 程 序 - 图114我 前 面 已 经 介 绍 过 控 制 台 应 用 程 序 的 概 况 但 由 于 这 一 介 绍 过 于 粗 略 以至 于 并 未 真 正 告 诉 读 者 控 制 台 应 用 程 序 到 底 是 什 么 样 的 控 制 台 应 用 程 序 具 备DOS 风 格 的 窗 口 外 观 而 不 是 读 者 更 熟 悉 一 些 的 W ind ow s 风 格 窗 口 控 制 台 应用 程 序 使 用 等 距 字 体 就 像 你 在 DOS 窗 口 中 看 到 的 那 样 在 控 制 台 应 用 程 序 中可 以 使 用 标 准 C 函 数 完 成 输 入 输 出 比 如 p rin tf 和 s can f ( ) 然 而 从 内 部 上 讲控 制 台 应 用 程 序 确 实 是 个 W ind ow s 应 用 程 序 下 图 是 个 控 制 台 应 用 程 序 的 典 型示 例 第 2 章 建 立 基 本 应 用 程 序 - 图115 本 章 后 文 中 我 们 将 实 际 创 建 一 个 这 样 的 程 序 第 2 章 建 立 基 本 应 用 程 序 - 图116

第 2 章 建 立 基 本 应 用 程 序 - 图117注 使 用 控 制 台 应 用 程 序 可 以 把 某 些 功 能 型 D O S 代 码 转 移 到 Windows 系 统之 下

第 2 章 建 立 基 本 应 用 程 序 - 图118第 2 章 建 立 基 本 应 用 程 序 - 图119第 2 章 建 立 基 本 应 用 程 序 - 图120第 2 章 建 立 基 本 应 用 程 序 - 图121第 2 章 建 立 基 本 应 用 程 序 - 图122第 2 章 建 立 基 本 应 用 程 序 - 图123第 2 章 建 立 基 本 应 用 程 序 - 图124第 2 章 建 立 基 本 应 用 程 序 - 图125第 2 章 建 立 基 本 应 用 程 序 - 图126那 么 为 什 么 要 创 建 这 种 杂 交 怪 物 呢 假 设 说 你 有 一 些 工 作 得 很 好 的 老 的遗 留 代 码 但 它 们 是 DOS 下 的 应 用 程 序 你 想 把 这 个 程 序 迁 移 到 W ind ow s 系统 下 但 又 没 有 时 间 把 所 有 代 码 都 转 换 成 W ind ow s 调 用 那 么 控 制 台 应 用 程 序提 供 了 一 个 折 中 的 解 决 办 法 在 这 类 应 用 程 序 中 你 可 以 使 用 老 的 代 码 第 2 章 建 立 基 本 应 用 程 序 - 图127 至 少 是其 中 的 一 部 分 第 2 章 建 立 基 本 应 用 程 序 - 图128 但 在 W ind ow s 环 境 中 执 行 这 一 程 序

第 2 章 建 立 基 本 应 用 程 序 - 图129注 从 长 远 的 观 点 看 创 建 控 制 台 应 用 程 序 并 不 一 定 会 节 省 时 间 和 精 力 —

第 2 章 建 立 基 本 应 用 程 序 - 图130— 没 有 谁 能 保 证 让 你 使 用 所 有 现 存 代 码

第 2 章 建 立 基 本 应 用 程 序 - 图131第 2 章 建 立 基 本 应 用 程 序 - 图132第 2 章 建 立 基 本 应 用 程 序 - 图133第 2 章 建 立 基 本 应 用 程 序 - 图134第 2 章 建 立 基 本 应 用 程 序 - 图135第 2 章 建 立 基 本 应 用 程 序 - 图136第 2 章 建 立 基 本 应 用 程 序 - 图137第 2 章 建 立 基 本 应 用 程 序 - 图138使 用 控 制 台 应 用 程 序 还 有 另 外 一 个 好 处 当 把 应 用 程 序 从 DOS 搬 到 W in d o w s 中 时 外 观 上 就 不 一 样 没 有 什 么 办 法 填 平 两 者 之 间 的 鸿 沟 从 用 户 的 观 点 来看 你 引 入 了 一 个 完 全 不 同 的 应 用 程 序 需 要 做 出 计 划 重 新 培 训 每 一 个 工 作 人员 及 一 切 相 关 的 事 情 另 一 方 面 控 制 台 应 用 程 序 外 观 上 与 DOS 应 用 程 序 十 分

第 2 章 建 立 基 本 应 用 程 序 - 图139第 2 章 建 立 基 本 应 用 程 序 - 图140第 2 章 建 立 基 本 应 用 程 序 - 图141第 2 章 建 立 基 本 应 用 程 序 - 图142第 2 章 建 立 基 本 应 用 程 序 - 图143第 2 章 建 立 基 本 应 用 程 序 - 图144相 似 每 个 人 都 已 经 相 当 熟 悉 因 此 或 许 你 并 不 需 要 花 多 少 精 力 进 行 配 置 你会 感 到 烦 恼 的 唯 一 的 一 件 事 就 是 如 何 让 每 个 人 都 习 惯 以 不 同 方 式 运 行 应 用 程序

然 而 不 要 以 为 控 制 台 应 用 程 序 是 每 个 DO S 应 用 程 序 迁 移 到 W ind ow s 环 境

第 2 章 建 立 基 本 应 用 程 序 - 图145第 2 章 建 立 基 本 应 用 程 序 - 图146第 2 章 建 立 基 本 应 用 程 序 - 图147第 2 章 建 立 基 本 应 用 程 序 - 图148第 2 章 建 立 基 本 应 用 程 序 - 图149第 2 章 建 立 基 本 应 用 程 序 - 图150第 2 章 建 立 基 本 应 用 程 序 - 图151第 2 章 建 立 基 本 应 用 程 序 - 图152第 2 章 建 立 基 本 应 用 程 序 - 图153的 理 想 途 径 本 质 上 两 种 方 式 下 你 都 要 创 建 新 的 应 用 程 序 其 间 的 唯 一 差 别 是可 重 用 代 码 数 量 因 此 也 表 现 在 创 建 新 的 应 用 程 序 所 耗 费 的 时 间 事 实 上 如果 你 决 定 采 用 控 制 台 应 用 程 序 这 种 方 法 时 只 要 考 虑 一 下 就 会 发 现 你 终 将 编写 两 个 应 用 程 序 绝 大 多 数 公 司 发 现 他 们 终 将 承 受 把 DOS 应 用 程 序 转 换 到 W in - dow s 应 用 程 序 所 付 出 的 代 价

第 2 章 建 立 基 本 应 用 程 序 - 图154第 2 章 建 立 基 本 应 用 程 序 - 图155第 2 章 建 立 基 本 应 用 程 序 - 图156第 2 章 建 立 基 本 应 用 程 序 - 图157第 2 章 建 立 基 本 应 用 程 序 - 图158第 2 章 建 立 基 本 应 用 程 序 - 图159第 2 章 建 立 基 本 应 用 程 序 - 图160第 2 章 建 立 基 本 应 用 程 序 - 图161第 2 章 建 立 基 本 应 用 程 序 - 图162第 2 章 建 立 基 本 应 用 程 序 - 图163第 2 章 建 立 基 本 应 用 程 序 - 图164第 2 章 建 立 基 本 应 用 程 序 - 图165第 2 章 建 立 基 本 应 用 程 序 - 图166第 2 章 建 立 基 本 应 用 程 序 - 图167第 2 章 建 立 基 本 应 用 程 序 - 图168第 2 章 建 立 基 本 应 用 程 序 - 图169当 然 如 果 DOS 应 用 程 序 在 DO S 窗 口 中 运 行 得 相 当 好 时 你 也 必 须 斟 酌一 下 重 新 编 写 控 制 台 应 用 程 序 是 否 明 智 无 疑 地 控 制 台 应 用 程 序 可 以 使 用 某些 W ind ow s 服 务 但 或 许 所 需 的 一 切 服 务 已 经 在 DOS 应 用 程 序 中 实 现 了 你需 要 访 问 某 些 M F C 函 数 以 增 强 应 用 程 序 的 功 能 并 改 进 应 用 程 序 的 易 用 性 第 2 章 建 立 基 本 应 用 程 序 - 图170 向你 的 DOS 应 用 程 序 中 添 加 越 多 的 W ind ow s 功 能 控 制 台 应 用 程 序 的 可 采 用 性也 变 得 越 低

可 移 植 性 可 以 安 全 地 假 定 使 用 控 制 台 应 用 程 序 能 够 把 D O S 应 用 程 序 的 商务 逻 辑 迁 移 到 Windows 环 境 也 可 以 把 某 些 显 示 和 打 印 功 能 进 行 迁移 然 而 想 通 过 控 制 台 应 用 程 序 使 用 一 组 代 码 同 时 实 现 D O S 和 Win- dows 下 应 用 程 序 的 假 定 从 来 都 不 是 安 全 的 — — 这 两 个 环 境 的 差 别 实在 太 大 了 当 把 应 用 程 序 从 D O S 迁 移 到 Windows 时 总 需 要 进 行 某 些 修改

基 于 对 话 框 的 应 用 程 序

第 2 章 建 立 基 本 应 用 程 序 - 图171许 多 人 把 配 置 屏 幕 A bout 对 话 框 之 类 的 应 用 与 基 于 对 话 框 的 应 用 程 序 联 系

第 2 章 建 立 基 本 应 用 程 序 - 图172第 2 章 建 立 基 本 应 用 程 序 - 图173第 2 章 建 立 基 本 应 用 程 序 - 图174第 2 章 建 立 基 本 应 用 程 序 - 图175第 2 章 建 立 基 本 应 用 程 序 - 图176第 2 章 建 立 基 本 应 用 程 序 - 图177起 来 而 把 其 它 功 能 要 求 归 类 于 全 功 能 应 用 程 序 基 于 对 话 框 的 应 用 程 序 在 编程 世 界 中 也 占 有 一 席 之 地 它 们 对 实 用 程 序 类 应 用 程 序 极 为 有 用 在 这 类 应 用程 序 中 通 常 只 需 要 显 示 少 量 的 数 据 和 获 取 少 量 的 用 户 输 入 下 图 是 本 章 后 面 要创 建 的 一 个 基 于 对 话 框 的 应 用 程 序 的 示 例

第 2 章 建 立 基 本 应 用 程 序 - 图178

第 2 章 建 立 基 本 应 用 程 序 - 图179第 2 章 建 立 基 本 应 用 程 序 - 图180第 2 章 建 立 基 本 应 用 程 序 - 图181第 2 章 建 立 基 本 应 用 程 序 - 图182第 2 章 建 立 基 本 应 用 程 序 - 图183第 2 章 建 立 基 本 应 用 程 序 - 图184第 2 章 建 立 基 本 应 用 程 序 - 图185第 2 章 建 立 基 本 应 用 程 序 - 图186技 巧 当 确 定 是 创 建 基 于 对 话 框 的 应 用 程 序 还 是 创 建 基 于 窗 口 的 应 用 程 序时 需 要 考 虑 实 用 程 序 如 果 你 的 应 用 程 序 适 合 作 实 用 程 序 那 么 基于 对 话 框 的 应 用 程 序 界 面 或 许 是 良 好 的 选 择 另 一 方 面 如 果 打 算 在应 用 程 序 中 添 加 众 多 的 特 性 或 者 需 要 用 户 进 行 大 量 的 交 互 操 作 那 么应 该 考 虑 选 用 基 于 窗 口 的 界 面 在 做 出 决 定 时 一 定 要 考 虑 未 来 对 应 用程 序 的 扩 充 问 题 — — 今 天 做 出 的 错 误 选 择 将 在 明 天 的 重 新 实 现 中 付 出沉 重 的 代 价

第 2 章 建 立 基 本 应 用 程 序 - 图187第 2 章 建 立 基 本 应 用 程 序 - 图188第 2 章 建 立 基 本 应 用 程 序 - 图189第 2 章 建 立 基 本 应 用 程 序 - 图190第 2 章 建 立 基 本 应 用 程 序 - 图191第 2 章 建 立 基 本 应 用 程 序 - 图192第 2 章 建 立 基 本 应 用 程 序 - 图193第 2 章 建 立 基 本 应 用 程 序 - 图194第 2 章 建 立 基 本 应 用 程 序 - 图195第 2 章 建 立 基 本 应 用 程 序 - 图196那 么 到 底 是 什 么 原 因 使 基 于 对 话 框 的 应 用 程 序 比 基 于 窗 口 的 全 功 能 应 用程 序 更 好 呢 最 重 要 的 原 因 之 一 是 程 序 规 模 你 可 以 创 建 同 一 个 应 用 程 序 的 两种 版 本 一 种 使 用 对 话 框 界 面 另 一 种 使 用 窗 口 界 面 每 次 做 这 样 的 实 验 时 你都 会 发 现 对 话 框 版 本 的 程 序 更 小 一 些 除 了 节 省 资 源 外 对 话 框 版 本 的 应 用 程序 的 加 载 速 度 也 更 快 些 基 于 对 话 框 的 应 用 程 序 比 完 成 相 同 功 能 的 基 于 窗 口 的应 用 程 序 更 简 单 有 效

第 2 章 建 立 基 本 应 用 程 序 - 图197第 2 章 建 立 基 本 应 用 程 序 - 图198第 2 章 建 立 基 本 应 用 程 序 - 图199第 2 章 建 立 基 本 应 用 程 序 - 图200第 2 章 建 立 基 本 应 用 程 序 - 图201第 2 章 建 立 基 本 应 用 程 序 - 图202第 2 章 建 立 基 本 应 用 程 序 - 图203第 2 章 建 立 基 本 应 用 程 序 - 图204第 2 章 建 立 基 本 应 用 程 序 - 图205你 还 会 发 现 创 建 基 于 对 话 框 的 应 用 程 序 的 速 度 也 很 快 基 于 对 话 框 应 用 程序 的 特 点 就 是 规 模 小 效 率 高 当 你 发 现 需 要 在 这 类 应 用 程 序 中 增 加 大 量 功 能和 特 性 时 或 许 你 一 开 始 就 选 错 了 要 创 建 的 应 用 程 序 的 类 型 基 于 对 话 框 的 应用 程 序 通 常 避 免 使 用 菜 单 和 其 它 基 于 窗 口 应 用 程 序 为 提 供 友 好 界 面 所 需 的 部件 更 少 的 特 性 减 少 了 程 序 员 的 开 发 和 调 试 时 间 显 然 任 何 有 利 于 提 高 程 序员 效 率 的 方 法 都 值 得 一 试

第 2 章 建 立 基 本 应 用 程 序 - 图206注 把 过 多 的 控 件 塞 进 基 于 对 话 框 的 应 用 程 序 的 做 法 只 能 使 该 应 用 程 序 既笨 拙 又 难 以 使 用

第 2 章 建 立 基 本 应 用 程 序 - 图207第 2 章 建 立 基 本 应 用 程 序 - 图208第 2 章 建 立 基 本 应 用 程 序 - 图209第 2 章 建 立 基 本 应 用 程 序 - 图210第 2 章 建 立 基 本 应 用 程 序 - 图211第 2 章 建 立 基 本 应 用 程 序 - 图212基 于 对 话 框 的 应 用 程 序 并 不 一 定 要 承 受 缺 乏 重 要 特 性 的 遗 憾 例 如 你 可以 把 基 于 对 话 框 的 应 用 程 序 创 建 成 完 美 的 OL E 服 务 器 在 这 方 面 V is u a l C + + 向导 会 为 你 提 供 相 应 的 帮 助 因 此 在 应 用 程 序 中 添 加 OL E 支 持 只 需 要 你 多 做 一丁 点 工 作

第 2 章 建 立 基 本 应 用 程 序 - 图213使 用 对 话 框 应 用 程 序 唯 一 存 在 的 问 题 是 某 些 程 序 员 感 到 难 以 划 分 对 话 框

第 2 章 建 立 基 本 应 用 程 序 - 图214第 2 章 建 立 基 本 应 用 程 序 - 图215第 2 章 建 立 基 本 应 用 程 序 - 图216第 2 章 建 立 基 本 应 用 程 序 - 图217第 2 章 建 立 基 本 应 用 程 序 - 图218第 2 章 建 立 基 本 应 用 程 序 - 图219我 曾 经 见 过 一 个 基 于 对 话 框 的 应 用 程 序 其 上 充 满 了 让 人 不 知 所 措 的 各 种 小 玩意 基 于 对 话 框 的 应 用 程 序 看 上 去 会 比 同 等 功 能 的 基 于 窗 口 的 应 用 程 序 拥 挤 些但 也 不 应 该 把 它 们 拥 挤 到 谁 也 不 能 使 用 的 地 步

技 巧 就 像 Windows 中 用 于 配 置 的 属 性 对 话 框 那 样 你 可 以 使 用 选 项 卡 来降 低 基 于 对 话 框 应 用 程 序 界 面 的 拥 挤 程 度

单 文 档 界 面 应 用 程 序

第 2 章 建 立 基 本 应 用 程 序 - 图220第 2 章 建 立 基 本 应 用 程 序 - 图221单 文 档 界 面 应 用 程 序 是 像 N o te P a d 记 事 本 第 2 章 建 立 基 本 应 用 程 序 - 图222 或 M ic ros oft P a in t 画 笔 第 2 章 建 立 基 本 应 用 程 序 - 图223

第 2 章 建 立 基 本 应 用 程 序 - 图224

第 2 章 建 立 基 本 应 用 程 序 - 图225

第 2 章 建 立 基 本 应 用 程 序 - 图226

第 2 章 建 立 基 本 应 用 程 序 - 图227

第 2 章 建 立 基 本 应 用 程 序 - 图228

第 2 章 建 立 基 本 应 用 程 序 - 图229

第 2 章 建 立 基 本 应 用 程 序 - 图230

第 2 章 建 立 基 本 应 用 程 序 - 图231

第 2 章 建 立 基 本 应 用 程 序 - 图232

第 2 章 建 立 基 本 应 用 程 序 - 图233档 的 W ind ow s 菜 单

第 2 章 建 立 基 本 应 用 程 序 - 图234第 2 章 建 立 基 本 应 用 程 序 - 图235第 2 章 建 立 基 本 应 用 程 序 - 图236注 对只需要用 户进行少量交互的小型 应用程序来说 可以采 用单文档 基于窗口的 界面

第 2 章 建 立 基 本 应 用 程 序 - 图237

第 2 章 建 立 基 本 应 用 程 序 - 图238第 2 章 建 立 基 本 应 用 程 序 - 图239第 2 章 建 立 基 本 应 用 程 序 - 图240第 2 章 建 立 基 本 应 用 程 序 - 图241第 2 章 建 立 基 本 应 用 程 序 - 图242第 2 章 建 立 基 本 应 用 程 序 - 图243第 2 章 建 立 基 本 应 用 程 序 - 图244与 基 于 对 话 框 的 应 用 程 序 相 似 单 文 档 应 用 程 序 也 可 以 创 建 成 OL E 服 务 器实 际 上 这 类 应 用 程 序 也 可 以 作 为 OL E 客 户 程 序 尽 管 极 少 有 程 序 员 把 这 种 能力 添 加 到 他 的 应 用 程 序 中 下 图 是 本 章 后 面 要 介 绍 的 一 个 单 文 档 应 用 程 序 示 例请 注 意 这 个 示 例 可 以 作 为 OL E 的 客 户 端

第 2 章 建 立 基 本 应 用 程 序 - 图245第 2 章 建 立 基 本 应 用 程 序 - 图246注 通 过 把 应 用 程 序 的 基 视 图 类 选 择 为 CHtmlView 可 以 把 单 文 档 界 面 的 应用 程 序 转 换 成 简 单 的 W e b 浏 览 器

第 2 章 建 立 基 本 应 用 程 序 - 图247不 幸 的 是 单 文 档 界 面 的 应 用 程 序 与 基 于 对 话 框 的 应 用 程 序 有 相 同 的 问 题

第 2 章 建 立 基 本 应 用 程 序 - 图248第 2 章 建 立 基 本 应 用 程 序 - 图249第 2 章 建 立 基 本 应 用 程 序 - 图250第 2 章 建 立 基 本 应 用 程 序 - 图251第 2 章 建 立 基 本 应 用 程 序 - 图252第 2 章 建 立 基 本 应 用 程 序 - 图253第 2 章 建 立 基 本 应 用 程 序 - 图254第 2 章 建 立 基 本 应 用 程 序 - 图255第 2 章 建 立 基 本 应 用 程 序 - 图256第 2 章 建 立 基 本 应 用 程 序 - 图257第 2 章 建 立 基 本 应 用 程 序 - 图258第 2 章 建 立 基 本 应 用 程 序 - 图259第 2 章 建 立 基 本 应 用 程 序 - 图260第 2 章 建 立 基 本 应 用 程 序 - 图261第 2 章 建 立 基 本 应 用 程 序 - 图262第 2 章 建 立 基 本 应 用 程 序 - 图263第 2 章 建 立 基 本 应 用 程 序 - 图264第 2 章 建 立 基 本 应 用 程 序 - 图265第 2 章 建 立 基 本 应 用 程 序 - 图266— — 用 起 来 太 复 杂 了 我 还 记 得 以 前 使 用 老 版 本 Co re l D R A W 时 的 问 题 每 当我 想 查 看 一 幅 图 案 时 不 得 不 在 查 看 之 前 首 先 关 闭 当 前 打 开 的 文 档 这 种 限 制使 得 Co re l D R A W 比 它 应 该 提 供 的 方 法 要 难 用 一 些 例 如 我 在 比 较 两 幅 图 案时 浪 费 了 太 多 的 时 间 所 幸 的 是 Co re l S y s te m s 在 当 前 版 本 的 Co re l D R A W 中已 经 纠 正 了 这 一 缺 陷 第 2 章 建 立 基 本 应 用 程 序 - 图267

技 巧 当 操 作 数 据 库 管 理 系 统 时 单 文 档 基 于 窗 口 的 应 用 程 序 工 作 的 相当 完 美 其 原 因 相 当 简 单 极 少 有 用 户 需 要 同 时 打 开 多 个 数 据 库 即使 他 们 需 要 同 时 打 开 多 个 数 据 库 数 据 库 本 身 的 使 用 规 则 也 减 少 了 用户 本 身 访 问 多 个 数 据 库 的 可 能 性 正 常 情 况 下 你 需 要 以 可 编 程 方 式控 制 对 各 种 数 据 库 元 素 的 访 问 并 把 结 果 显 示 给 用 户

多 文 档 界 面 应 用 程 序

第 2 章 建 立 基 本 应 用 程 序 - 图268第 2 章 建 立 基 本 应 用 程 序 - 图269第 2 章 建 立 基 本 应 用 程 序 - 图270第 2 章 建 立 基 本 应 用 程 序 - 图271第 2 章 建 立 基 本 应 用 程 序 - 图272第 2 章 建 立 基 本 应 用 程 序 - 图273第 2 章 建 立 基 本 应 用 程 序 - 图274第 2 章 建 立 基 本 应 用 程 序 - 图275第 2 章 建 立 基 本 应 用 程 序 - 图276现 在 我 们 来 谈 谈 多 文 档 界 面 应 用 程 序 使 用 这 种 类 型 基 于 窗 口 的 应 用 程 序可 以 创 建 像 字 处 理 程 序 或 电 子 表 格 那 样 的 应 用 程 序 例 如 M ic ros oft W o rd 和M ic ros oft E x c e l 都 是 多 文 档 应 用 程 序 的 示 例 如 果 你 想 一 想 就 会 发 现 文 本编 辑 器 具 备 有 限 吸 引 力 的 原 因 正 是 由 于 其 一 次 只 能 打 开 一 个 文 档 人 们 需 要 在文 档 之 间 进 行 比 较 这 就 是 多 文 档 界 面 的 应 用 程 序 不 仅 幽 雅 而 且 在 众 多 情 形 下需 要 的 原 因

第 2 章 建 立 基 本 应 用 程 序 - 图277注 通 过 把 应 用 程 序 的 基 视 图 类 选 择 为 CHtmlView 可 以 把 多 文 档 界 面 的 应

第 2 章 建 立 基 本 应 用 程 序 - 图278用 程 序 转 换 成 简 单 的 W e b 浏 览 器

第 2 章 建 立 基 本 应 用 程 序 - 图279第 2 章 建 立 基 本 应 用 程 序 - 图280第 2 章 建 立 基 本 应 用 程 序 - 图281第 2 章 建 立 基 本 应 用 程 序 - 图282多 文 档 界 面 的 应 用 程 序 通 常 也 都 具 有 多 种 功 能 第 2 章 建 立 基 本 应 用 程 序 - 图283 你 可 能 会 走 向 另 一 个 极 端看 一 看 人 们 对 当 今 厂 商 生 产 的 主 流 产 品 臃 肿 特 性 的 抱 怨 也 就 知 道 了 第 2 章 建 立 基 本 应 用 程 序 - 图284 文 本 编辑 器 可 以 提 供 十 分 简 单 的 查 找 功 能 但 并 不 提 供 替 换 文 本 的 任 何 方 法 而 全 功 能的 字 处 理 程 序 则 把 查 找 和 替 换 作 为 标 准 功 能 来 对 待

第 2 章 建 立 基 本 应 用 程 序 - 图285第 2 章 建 立 基 本 应 用 程 序 - 图286第 2 章 建 立 基 本 应 用 程 序 - 图287第 2 章 建 立 基 本 应 用 程 序 - 图288第 2 章 建 立 基 本 应 用 程 序 - 图289第 2 章 建 立 基 本 应 用 程 序 - 图290第 2 章 建 立 基 本 应 用 程 序 - 图291第 2 章 建 立 基 本 应 用 程 序 - 图292第 2 章 建 立 基 本 应 用 程 序 - 图293第 2 章 建 立 基 本 应 用 程 序 - 图294第 2 章 建 立 基 本 应 用 程 序 - 图295多 文 档 界 面 应 用 程 序 的 缺 点 就 在 于 它 处 理 多 个 文 档 同 时 处 理 多 个 文 档 的能 力 也 意 味 着 需 要 更 多 的 额 外 编 程 工 作 你 并 不 只 是 要 跟 踪 所 有 打 开 的 文 档 也 要 提 供 W ind ow s 菜 单 来 管 理 特 殊 的 程 序 特 性 比 如 要 考 虑 屏 幕 划 分 问 题 你 还 需 要 决 定 是 否 允 许 用 户 同 时 显 示 多 个 文 档 像 最 小 化 其 中 一 个 文 档 而 最 大化 另 一 个 文 档 这 样 的 任 务 也 需 要 额 外 的 程 序 代 码 总 而 言 之 即 使 在 开 始 编 写多 文 档 应 用 程 序 之 前 就 需 要 做 大 量 的 编 程 准 备 工 作 了

第 2 章 建 立 基 本 应 用 程 序 - 图296第 2 章 建 立 基 本 应 用 程 序 - 图297第 2 章 建 立 基 本 应 用 程 序 - 图298第 2 章 建 立 基 本 应 用 程 序 - 图299第 2 章 建 立 基 本 应 用 程 序 - 图300第 2 章 建 立 基 本 应 用 程 序 - 图301第 2 章 建 立 基 本 应 用 程 序 - 图302第 2 章 建 立 基 本 应 用 程 序 - 图303第 2 章 建 立 基 本 应 用 程 序 - 图304第 2 章 建 立 基 本 应 用 程 序 - 图305第 2 章 建 立 基 本 应 用 程 序 - 图306第 2 章 建 立 基 本 应 用 程 序 - 图307第 2 章 建 立 基 本 应 用 程 序 - 图308第 2 章 建 立 基 本 应 用 程 序 - 图309第 2 章 建 立 基 本 应 用 程 序 - 图310第 2 章 建 立 基 本 应 用 程 序 - 图311第 2 章 建 立 基 本 应 用 程 序 - 图312第 2 章 建 立 基 本 应 用 程 序 - 图313当 然 多 文 档 界 面 的 应 用 程 序 也 有 不 少 的 缺 点 例 如 如 果 你 以 前 把 W o rd 用 做 过 OL E 服 务 器 你 就 会 知 道 在 另 一 个 应 用 程 序 中 单 击 链 接 之 后 每 次 打开 这 个 庞 大 的 应 用 程 序 时 都 要 等 待 很 长 时 间 这 种 烦 恼 了 而 且 你 或 许 也 经 历过 内 存 不 够 的 困 惑 在 最 近 之 前 每 当 你 要 使 用 OL E 时 你 就 必 须 有 足 够 的 内存 同 时 运 行 两 个 应 用 程 序 第 2 章 建 立 基 本 应 用 程 序 - 图314 客 户 和 服 务 器 第 2 章 建 立 基 本 应 用 程 序 - 图315 所 幸 的 是 通 过 让 服 务 器 接 管 客户 端 窗 口 的 方 法 M ic ros oft 已 经 降 低 了 这 类 内 存 需 求 现 在 只 负 责 操 作 文 档 本身 了 客 户 窗 口 为 服 务 器 菜 单 和 工 具 条 提 供 了 框 架 因 此 不 会 再 浪 费 额 外 的 内存 空 间 了

基 于 HTML 文 档 的 应 用 程 序

第 2 章 建 立 基 本 应 用 程 序 - 图316第 2 章 建 立 基 本 应 用 程 序 - 图317第 2 章 建 立 基 本 应 用 程 序 - 图318第 2 章 建 立 基 本 应 用 程 序 - 图319第 2 章 建 立 基 本 应 用 程 序 - 图320第 2 章 建 立 基 本 应 用 程 序 - 图321第 2 章 建 立 基 本 应 用 程 序 - 图322V is u a l C + + 6 . 0 提 供 了 一 种 新 的 应 用 程 序 类 型 但 你 在 N e w 对 话 框 的 P ro je c t 选 项 卡 中 却 找 不 到 它 的 踪 影 你 可 以 通 过 M F C A ppW iz a rd 第 6 步 的 对 话 框 创 建基 于 HT M L 文 档 的 应 用 程 序 本 章 中 我 们 将 花 费 几 节 的 篇 幅 讨 论 这 方 面 的 内 容上 述 对 话 框 B a s e C la s s 基 类 第 2 章 建 立 基 本 应 用 程 序 - 图323 组 合 框 中 包 含 了 一 个 C H tm lV ie w 选 项 正 是 使 用这 个 选 项 来 创 建 这 种 新 型 的 应 用 程 序

第 2 章 建 立 基 本 应 用 程 序 - 图324第 2 章 建 立 基 本 应 用 程 序 - 图325第 2 章 建 立 基 本 应 用 程 序 - 图326第 2 章 建 立 基 本 应 用 程 序 - 图327第 2 章 建 立 基 本 应 用 程 序 - 图328第 2 章 建 立 基 本 应 用 程 序 - 图329第 2 章 建 立 基 本 应 用 程 序 - 图330第 2 章 建 立 基 本 应 用 程 序 - 图331第 2 章 建 立 基 本 应 用 程 序 - 图332第 2 章 建 立 基 本 应 用 程 序 - 图333第 2 章 建 立 基 本 应 用 程 序 - 图334第 2 章 建 立 基 本 应 用 程 序 - 图335那 么 基 于 HT M L 文 档 的 应 用 程 序 有 什 么 优 点 呢 想 一 想 创 建 自 己 定 制 的W e b 浏 览 器 的 好 处 吧 你 可 以 把 这 个 浏 览 器 设 置 成 自 动 浏 览 公 司 W e b 站 点 并 限制 用 户 访 问 W e b 上 非 商 务 站 点 的 方 式 由 于 定 制 的 浏 览 器 不 需 要 具 备 全 功 能 浏览 器 所 有 的 通 用 功 能 因 此 定 制 浏 览 器 会 减 少 内 存 需 求 和 磁 盘 空 间 需 求 换

句 话 说

你 可 以 建 立 一 个 提 供 浏 览 器 所 有 功 能

而 又 不 存 在 它 们 所 含 问 题

的 程

序 环 境

至 少 在 访 问 公 司 W e b 站 点 上 是 这 样 第 2 章 建 立 基 本 应 用 程 序 - 图336

下 图 是 个 用 于 访 问 W e b

站 点

的 基 于

HT M L 文 档 的 应 用 程 序 的 示 例 显 示 的 是

C H tm lV ie w 类 提 供 的 缺 省

W e b

站 点 第 2 章 建 立 基 本 应 用 程 序 - 图337

第 2 章 建 立 基 本 应 用 程 序 - 图338

第 2 章 建 立 基 本 应 用 程 序 - 图339

第 2 章 建 立 基 本 应 用 程 序 - 图340第 2 章 建 立 基 本 应 用 程 序 - 图341第 2 章 建 立 基 本 应 用 程 序 - 图342第 2 章 建 立 基 本 应 用 程 序 - 图343第 2 章 建 立 基 本 应 用 程 序 - 图344第 2 章 建 立 基 本 应 用 程 序 - 图345第 2 章 建 立 基 本 应 用 程 序 - 图346第 2 章 建 立 基 本 应 用 程 序 - 图347第 2 章 建 立 基 本 应 用 程 序 - 图348第 2 章 建 立 基 本 应 用 程 序 - 图349第 2 章 建 立 基 本 应 用 程 序 - 图350不 管 怎 么 说 这 种 新 型 应 用 程 序 比 你 原 先 想 像 得 更 有 价 值 例 如 你 可 以把 C H tm lV ie w 类 添 加 到 现 存 应 用 程 序 中 让 它 能 够 访 问 基 于 W e b 服 务 器 的 帮助 桌 面 在 第 15 章 的 给 你 的 应 用 程 序 添 加 基 于 HT M L 的 帮 助 一 节 我 将 介绍 基 于 HT M L 的 帮 助 第 2 章 建 立 基 本 应 用 程 序 - 图351 作 为 创 建 标 准 帮 助 文 件 并 把 它 添 加 到 应 用 程 序 的 一 种替 代 方 法 你 可 以 创 建 十 分 专 业 化 的 W e b 浏 览 器 并 把 它 置 入 到 应 用 程 序 中

第 2 章 建 立 基 本 应 用 程 序 - 图352第 2 章 建 立 基 本 应 用 程 序 - 图353第 2 章 建 立 基 本 应 用 程 序 - 图354第 2 章 建 立 基 本 应 用 程 序 - 图355第 2 章 建 立 基 本 应 用 程 序 - 图356第 2 章 建 立 基 本 应 用 程 序 - 图357第 2 章 建 立 基 本 应 用 程 序 - 图358第 2 章 建 立 基 本 应 用 程 序 - 图359第 2 章 建 立 基 本 应 用 程 序 - 图360第 2 章 建 立 基 本 应 用 程 序 - 图361第 2 章 建 立 基 本 应 用 程 序 - 图362基 于 HT M L 的 帮 助 的 优 点 十 分 明 显 使 用 老 的 帮 助 文 件 就 意 味 着 一 旦 把 应用 程 序 交 付 给 用 户 或 在 整 个 公 司 内 分 发 后 你 就 不 能 够 轻 易 地 更 新 帮 助 文 件 而 更 新 HT M L 帮 助 则 简 单 到 只 需 要 在 W e b 服 务 器 上 修 改 文 件 即 可 另 外 使用 M ic ros oft H e lp W o rk s hop 还 需 要 做 一 些 额 外 的 工 作 而 基 于 HT M L 的 帮 助 则既 不 需 要 编 译 器 也 不 需 要 特 殊 工 具 只 要 有 个 文 本 编 辑 器 即 可 第 2 章 建 立 基 本 应 用 程 序 - 图363 理 论 上 说在 编 写 巨 型 帮 助 文 件 时 你 需 要 个 专 门 为 操 作 HT M L 而 设 计 的 编 辑 器 第 2 章 建 立 基 本 应 用 程 序 - 图364

第 2 章 建 立 基 本 应 用 程 序 - 图365第 2 章 建 立 基 本 应 用 程 序 - 图366第 2 章 建 立 基 本 应 用 程 序 - 图367第 2 章 建 立 基 本 应 用 程 序 - 图368第 2 章 建 立 基 本 应 用 程 序 - 图369第 2 章 建 立 基 本 应 用 程 序 - 图370第 2 章 建 立 基 本 应 用 程 序 - 图371第 2 章 建 立 基 本 应 用 程 序 - 图372第 2 章 建 立 基 本 应 用 程 序 - 图373第 2 章 建 立 基 本 应 用 程 序 - 图374第 2 章 建 立 基 本 应 用 程 序 - 图375第 2 章 建 立 基 本 应 用 程 序 - 图376第 2 章 建 立 基 本 应 用 程 序 - 图377第 2 章 建 立 基 本 应 用 程 序 - 图378第 2 章 建 立 基 本 应 用 程 序 - 图379HT M L 帮 助 也 有 一 些 缺 陷 一 方 面 难 以 在 基 于 HT M L 的 帮 助 中 建 立 能 够满 足 需 要 的 查 询 功 能 由 于 查 询 用 户 所 需 的 信 息 与 建 立 这 些 信 息 处 于 同 等 重 要的 位 置 因 此 基 于 HT M L 的 帮 助 并 不 适 合 于 初 级 用 户 另 外 基 于 HT M L 的 帮 助 必 须 建 立 In te rn e t 至 少 为 内 部 网 第 2 章 建 立 基 本 应 用 程 序 - 图380 链 接 如 果 你 的 公 司 中 有 许 多 旅 途 中的 用 户 那 么 试 图 建 立 In te rn e t 链 接 或 许 并 不 现 实 当 然 总 可 以 复 制 所 需 的HT M L 文 件 但 这 与 以 前 的 帮 助 形 式 存 在 相 同 的 问 题 过 期 的 帮 助 文 件

第 2 章 建 立 基 本 应 用 程 序 - 图381第 2 章 建 立 基 本 应 用 程 序 - 图382第 2 章 建 立 基 本 应 用 程 序 - 图383第 2 章 建 立 基 本 应 用 程 序 - 图384第 2 章 建 立 基 本 应 用 程 序 - 图385第 2 章 建 立 基 本 应 用 程 序 - 图386第 2 章 建 立 基 本 应 用 程 序 - 图387这 种 新 的 应 用 程 序 类 型 还 有 许 多 其 它 的 用 途 — — 多 的 这 里 无 法 罗 列 需 要记 住 的 重 要 一 点 是 从 In te rn e t 访 问 中 能 够 得 到 好 处 的 应 用 程 序 从 C H tm lV ie w 类 的 使 用 中 也 会 得 到 好 处 利 用 这 个 类 可 以 完 成 从 销 售 代 表 处 远 程 更 新 公 司数 据 库 到 让 用 户 易 于 登 记 产 品 之 类 的 一 切 任 务 换 句 话 说 C H tm lV ie w 类 为 你和 你 的 用 户 打 开 了 一 个 新 的 世 界

  1. 2 编 写 控 制 台 应 用 程 序

第 2 章 建 立 基 本 应 用 程 序 - 图388如 前 所 述 控 制 台 应 用 程 序 让 你 能 够 把 应 用 程 序 的 商 务 逻 辑 从 DOS 环

第 2 章 建 立 基 本 应 用 程 序 - 图389第 2 章 建 立 基 本 应 用 程 序 - 图390第 2 章 建 立 基 本 应 用 程 序 - 图391第 2 章 建 立 基 本 应 用 程 序 - 图392第 2 章 建 立 基 本 应 用 程 序 - 图393第 2 章 建 立 基 本 应 用 程 序 - 图394第 2 章 建 立 基 本 应 用 程 序 - 图395第 2 章 建 立 基 本 应 用 程 序 - 图396第 2 章 建 立 基 本 应 用 程 序 - 图397境 迁 移 到 W ind ow s 环 境 你 也 可 以 迁 移 某 些 甚 至 是 绝 大 多 数 第 2 章 建 立 基 本 应 用 程 序 - 图398 显 示 逻 辑 但也 需 要 一 些 M F C 提 供 的 功 能 本 质 上 讲 控 制 台 应 用 程 序 就 像 添 加 了 一 些 特 性的 DOS 应 用 程 序 编 码 之 后 需 要 彻 底 地 测 试 控 制 台 应 用 程 序 以 确 保 从 DOS 迁 移 到 W ind ow s 的 各 种 特 性 依 然 能 够 正 确 地 工 作

第 2 章 建 立 基 本 应 用 程 序 - 图399第 2 章 建 立 基 本 应 用 程 序 - 图400第 2 章 建 立 基 本 应 用 程 序 - 图401第 2 章 建 立 基 本 应 用 程 序 - 图402第 2 章 建 立 基 本 应 用 程 序 - 图403第 2 章 建 立 基 本 应 用 程 序 - 图404第 2 章 建 立 基 本 应 用 程 序 - 图405第 2 章 建 立 基 本 应 用 程 序 - 图406让 我 们 探 讨 一 个 相 当 简 单 的 控 制 台 应 用 程 序 看 看 在 这 个 程 序 中 你 能 做 些什 么 这 个 示 例 中 我 们 并 不 把 程 序 的 功 能 看 得 很 重 要 只 是 要 了 解 应 该 如 何完 成 示 例 当 然 第 一 步 的 工 作 是 创 建 程 序 框 架 按 下 述 步 骤 进 行 操 作

  1. 第 2 章 建 立 基 本 应 用 程 序 - 图407第 2 章 建 立 基 本 应 用 程 序 - 图408

    果 你 还 没 有 启 动 V is u a l C + + 那 么 启 动 V is u a l C + +

  2. 第 2 章 建 立 基 本 应 用 程 序 - 图409第 2 章 建 立 基 本 应 用 程 序 - 图410使

    用 F ile |N e w 命 令 显 示 如 下 图 所 示 的 N e w 对 话 框 注 意 我 已 经 选 择 了

第 2 章 建 立 基 本 应 用 程 序 - 图411P ro jects 选 项 卡 并 加 亮 了 要 在 本 例 中 使 用 的 工 程 类 型

第 2 章 建 立 基 本 应 用 程 序 - 图412

  1. 第 2 章 建 立 基 本 应 用 程 序 - 图413第 2 章 建 立 基 本 应 用 程 序 - 图414第 2 章 建 立 基 本 应 用 程 序 - 图415第 2 章 建 立 基 本 应 用 程 序 - 图416第 2 章 建 立 基 本 应 用 程 序 - 图417第 2 章 建 立 基 本 应 用 程 序 - 图418第 2 章 建 立 基 本 应 用 程 序 - 图419

    选 择 了 W in3 2 C ons o le A pp lic a t io n 后 在 P ro ject N a m e 域 中 键 入 程 序名 称 这 个 样 本 程 序 使 用 的 名 称 为 C ons o le 你 或 许 还 需 要 修 改 一 下 Lo c a tio n 域的 内 容 那 么 单 击 一 下 该 域 旁 边 的 浏 览 按 钮 系 统 会 显 示 C hoos e D ire c tor y 对 话框 在 这 个 对 话 框 中 选 择 应 用 程 序 的 存 放 目 录

  2. 第 2 章 建 立 基 本 应 用 程 序 - 图420第 2 章 建 立 基 本 应 用 程 序 - 图421第 2 章 建 立 基 本 应 用 程 序 - 图422第 2 章 建 立 基 本 应 用 程 序 - 图423第 2 章 建 立 基 本 应 用 程 序 - 图424第 2 章 建 立 基 本 应 用 程 序 - 图425第 2 章 建 立 基 本 应 用 程 序 - 图426

    击 OK 按 钮 你 会 看 到 W in3 2 C ons o le A p p lic a tion - S te p 1 of 1 对 话 框 如 下 图 所 示 注 意 在 这 个 对 话 框 中 有 几 个 应 用 程 序 类 型 供 选 择 这 也 是 V is u a l C+ + 6 .0 的 一 个 新 特 性 以 前 版 本 的 V is u a l C + + 简 单 地 创 建 一 个 空 的 工 程 现 在

第 2 章 建 立 基 本 应 用 程 序 - 图427到 了 选 择 要 创 建 哪 种 类 型 工 程 的 时 候 了 第 2 章 建 立 基 本 应 用 程 序 - 图428 即 使 空 工 程 也 要 进 行 选 择 第 2 章 建 立 基 本 应 用 程 序 - 图429

第 2 章 建 立 基 本 应 用 程 序 - 图430

  1. 第 2 章 建 立 基 本 应 用 程 序 - 图431第 2 章 建 立 基 本 应 用 程 序 - 图432第 2 章 建 立 基 本 应 用 程 序 - 图433第 2 章 建 立 基 本 应 用 程 序 - 图434第 2 章 建 立 基 本 应 用 程 序 - 图435

    要 时 第 2 章 建 立 基 本 应 用 程 序 - 图436 选 择 A n E m pty P ro je c t 然 后 单 击 F in is h 你 会 看 到 一 个 N e w P ro je c t In fo rm a tio n 对 话 框 它 告 诉 你 都 选 择 了 哪 些 选 项

  2. 第 2 章 建 立 基 本 应 用 程 序 - 图437单 击

    OK 按 钮 创 建 示 例 程 序

第 2 章 建 立 基 本 应 用 程 序 - 图438第 2 章 建 立 基 本 应 用 程 序 - 图439在 该 工 程 真 正 能 够 运 行 之 前 还 需 要 完 成 其 它 一 些 步 骤 该 工 程 需 要 M F C

第 2 章 建 立 基 本 应 用 程 序 - 图440第 2 章 建 立 基 本 应 用 程 序 - 图441类 当 你 把 对 该 类 的 支 持 加 入 到 上 面 的 应 用 程 序 向 导 的 设 置 中 时 再 次 使 用 该

第 2 章 建 立 基 本 应 用 程 序 - 图442第 2 章 建 立 基 本 应 用 程 序 - 图443第 2 章 建 立 基 本 应 用 程 序 - 图444第 2 章 建 立 基 本 应 用 程 序 - 图445第 2 章 建 立 基 本 应 用 程 序 - 图446第 2 章 建 立 基 本 应 用 程 序 - 图447向 导 把 DOS 应 用 程 序 转 换 到 W ind ow s 下 时 所 需 的 重 写 代 码 的 代 码 量 就 会 显 著减 少 选 择 P ro je c t | S e t tings 命 令 显 示 P ro je c t S e ttings 对 话 框 选 择 该 对 话 框 的G e n e ra l 选 项 卡 并 在 Se t tin g s Fo r 组 合 框 中 选 择 A ll C o n fig u ra tio n s 在 M ic ros oft F ounda tion C la s s e s 组 合 框 中 选 择 U s e M F C in a S h ared D L L 选 项 单 击 OK 完 成设 置 工 作

第 2 章 建 立 基 本 应 用 程 序 - 图448第 2 章 建 立 基 本 应 用 程 序 - 图449第 2 章 建 立 基 本 应 用 程 序 - 图450现 在 到 了 给 示 例 程 序 添 加 代 码 的 时 候 了 需 要 完 成 的 第 一 件 事 是 向 工 程 中添 加 一 个 文 件 让 我 们 看 看 添 加 过 程

  1. 第 2 章 建 立 基 本 应 用 程 序 - 图451第 2 章 建 立 基 本 应 用 程 序 - 图452第 2 章 建 立 基 本 应 用 程 序 - 图453第 2 章 建 立 基 本 应 用 程 序 - 图454使

    用 F ile | N e w 命 令 打 开 N e w 对 话 框 选 择 F ile 选 项 卡 其 中 显 示 了 文件 类 型 的 完 整 列 表 包 括 R e s o u rc e T e m p la te 以 及 像 Ic on F ile 这 样 的 各 种 图 像 文件

  2. 第 2 章 建 立 基 本 应 用 程 序 - 图455第 2 章 建 立 基 本 应 用 程 序 - 图456第 2 章 建 立 基 本 应 用 程 序 - 图457

    亮 C + + S ourc e F ile 选 项 由 于 我 们 要 在 样 本 代 码 中 添 加 一 些 类 因 此要 选 择 C+ + 源 文 件 选 项

  3. 第 2 章 建 立 基 本 应 用 程 序 - 图458

    F ile N a m e 域 中 键 入 C ons o le V is u a l C + + 会 自 动 添 加 上 正 确 的 文 件 扩

第 2 章 建 立 基 本 应 用 程 序 - 图459展 名 第 2 章 建 立 基 本 应 用 程 序 - 图460

  1. 第 2 章 建 立 基 本 应 用 程 序 - 图461第 2 章 建 立 基 本 应 用 程 序 - 图462

    击 OK 系 统 显 示 一 个 空 的 C+ + 源 文 件

第 2 章 建 立 基 本 应 用 程 序 - 图463第 2 章 建 立 基 本 应 用 程 序 - 图464现 在 我 们 有 了 一 个 要 使 用 的 空 文 件 该 添 加 一 些 代 码 了 程 序 列 表 2 .1 显 示

第 2 章 建 立 基 本 应 用 程 序 - 图465第 2 章 建 立 基 本 应 用 程 序 - 图466第 2 章 建 立 基 本 应 用 程 序 - 图467第 2 章 建 立 基 本 应 用 程 序 - 图468第 2 章 建 立 基 本 应 用 程 序 - 图469了 该 示 例 的 C+ + 源 程 序 注 意 其 中 它 既 直 接 包 括 了 一 些 C 代 码 也 包 括 了 一些 C+ + 代 码 我 这 样 做 的 目 的 就 是 为 了 让 读 者 看 清 楚 在 这 种 环 境 下 系 统 是 如 何工 作 的

程 序 列 表 2 . 1

# inc lude <a fx c o l l .h> / / P rov ide s A c c e s s to M F C func t io n s C la s s C D ra w B o x : p u b lic C O b je c t

{

pub l ic :

// D ra w s th e b o x .

vo id D o D ra w ( c h a r * s tr in g )

};

v o id C D ra wB o x :: D o D ra w ( c h a r * c V a lu e )

{

in t i C oun t; / / L oop c o u n te r

in t i S p ace; / / A m o u n t o f s p aces to add fo r s tr ing .

/ / D ra w th e top of th e bo x fp r in tf ( s td ou t," \ 3 11" ) ;

fo r ( i C o u n t = 1; i C oun t < = 78 ; i C ou nt + + )

{

fp rin tf( s td o u t ," \ 3 1 5 " ) ;

}

fp r in tf ( s td ou t," \ 2 73" ) ;

// F ig u re o u t th e c e n te r o f th e s tr in g , th e n d is p la y it

/ / w i th th e box s ide s .

i S p ace = ( 8 0 - s tr le n ( c V a lu e)) / 2 ; fp r in tf ( s td ou t," \ 2 72" ) ;

fo r ( i C o u n t = 1 ; iC o u n t < = iS p a c e s ; iC o u n t +

  • )

{

fp rin tf( s td o u t ," " ) ;

}

fp r in tf(s td o u t , " % s " , c V a lu e );

// C o m p e n s a te fo r o d d s iz e d s tr in g s , th e n c o m p le te th e s id e . if ( ( s trle n ( c V a lu e ) % 2 ) = = 1 )

{

i S p ace s - - ;

}

fo r ( i C o u n t = 1 ; iC o u n t < = iS p a c e s ; iC o u n t +

  • )

{

fp rin tf( s td o u t , " " ) ;

}

fp r in tf ( s td ou t," \ 2 72" ) ;

// D ra w th e b o tto m o f th e b o x

fp r in tf ( s td ou t, " \ 3 1 0" ) ;

fo r ( i C o u n t = 1; i C oun t < = 78 ; i C ou nt + + )

{

fp rin tf( s td o u t , " \ 3 1 5 " );

}

fp r in tf ( s td ou t, " \ 2 7 4 \ n" ) ;

}

in t m a in ( in t arg c , ch ar ** arg v )

{

ch ar * cN am e; / / N a m e o f p e r s o n ty p e d at co m m an d l in e. ch ar * cL o cale; / / P ro g ram ex ec u t io n lo c a t io n .

C T im e o M y T im e ; // A tim e o b je c t.

C S tr ing c D a te ; // S tr ing u s e d to ho ld t im e a nd d a te . C D ra w B o x o M y D ra w ; // S p e c ia l te x t d is p la y .

// S e e if w e h a v e e n o u g h c o m m a n d lin e a rg u m e n ts . if ( a rg c != 2 )

{

fp r in tf ( s td e r r , " T y p e th e p rog ra m na m e fo l lo w e d by y o u r na m e .\ n" ) ; re tu rn 1 ;

}

// G e t th e c o m m a n d lin e a rg u m e n ts c L oc a le = a rgv [ 0 ];

cN am e = arg v [ 1 ] ;

// G e t th e c u r re n t tim e a n d p u t it in a s tr in g . o M y T im e = C T im e ::G e t C u r re n tT im e ( ) ;

cD ate = o M y T im e .F o rm at( " % A , % B % d ,% Y " ) ;

//D is p la y e v e ry th in g w e 'v e c o lle c te d .

fp r in tf ( s td o u t , " H e llo % s \n \n " , c N a m e ) ;

fp r in tf ( s td ou t, " P rog ra m is e x e c u tin g f rom : \ n % s \n \ n " , c L oc a le ) ; fp r in tf ( s td o u t , " T h e d a te is : % s \n " , c D a te ) ;

/ / U s e o u r cla ss to d raw a b o x aro u nd s o m e te x t . oM y D ra w . D o D ra w (" I t's a b ox !" ) ;

re tu rn 0 ;

}

第 2 章 建 立 基 本 应 用 程 序 - 图470第 2 章 建 立 基 本 应 用 程 序 - 图471第 2 章 建 立 基 本 应 用 程 序 - 图472第 2 章 建 立 基 本 应 用 程 序 - 图473如 你 所 见 在 这 个 示 例 中 我 展 示 了 四 个 基 本 技 巧 第 一 个 技 巧 是 对 命 令 行参 数 适 宜 个 数 的 检 查 如 果 不 满 足 所 需 个 数 的 话 就 在 std e r r 设 备 上 显 示 一 条

第 2 章 建 立 基 本 应 用 程 序 - 图474第 2 章 建 立 基 本 应 用 程 序 - 图475第 2 章 建 立 基 本 应 用 程 序 - 图476第 2 章 建 立 基 本 应 用 程 序 - 图477第 2 章 建 立 基 本 应 用 程 序 - 图478第 2 章 建 立 基 本 应 用 程 序 - 图479第 2 章 建 立 基 本 应 用 程 序 - 图480出 错 信 息 然 后 返 回 出 错 代 码 并 退 出 应 用 程 序 你 可 以 在 DOS 命 令 行 中 检 测 这个 错 误 代 码 但 对 W ind ow s 来 说 根 本 不 起 作 用 一 旦 代 码 检 测 到 有 足 够 的 命 令行 参 数 它 就 把 这 些 参 数 放 入 一 对 变 量 中 用 于 随 后 的 显 示

第 2 章 建 立 基 本 应 用 程 序 - 图481第 2 章 建 立 基 本 应 用 程 序 - 图482第 2 章 建 立 基 本 应 用 程 序 - 图483第 2 章 建 立 基 本 应 用 程 序 - 图484第 2 章 建 立 基 本 应 用 程 序 - 图485第 2 章 建 立 基 本 应 用 程 序 - 图486第 2 章 建 立 基 本 应 用 程 序 - 图487第 2 章 建 立 基 本 应 用 程 序 - 图488到 现 在 为 止 你 看 到 的 还 都 是 DO S 应 用 程 序 的 代 码 代 码 中 使 用 的 第 二 个 技巧 是 得 到 当 前 时 间 它 使 用 了 一 个 M F C 调 用 来 完 成 这 项 任 务 那 么 如 何 才 能够 在 控 制 台 应 用 程 序 中 访 问 M F C 函 数 呢 正 如 你 所 看 到 的 我 在 代 码 的 一 开 始就 包 含 AF XC OL L . H 文 件 这 个 文 件 包 含 了 控 制 台 应 用 程 序 中 调 用 的 有 限 个 M F C 函 数 的 所 有 定 义 和 类 定 义

第 2 章 建 立 基 本 应 用 程 序 - 图489第 2 章 建 立 基 本 应 用 程 序 - 图490第 2 章 建 立 基 本 应 用 程 序 - 图491第 2 章 建 立 基 本 应 用 程 序 - 图492第 2 章 建 立 基 本 应 用 程 序 - 图493第 2 章 建 立 基 本 应 用 程 序 - 图494第 2 章 建 立 基 本 应 用 程 序 - 图495第 2 章 建 立 基 本 应 用 程 序 - 图496第 2 章 建 立 基 本 应 用 程 序 - 图497第 2 章 建 立 基 本 应 用 程 序 - 图498第 2 章 建 立 基 本 应 用 程 序 - 图499第 2 章 建 立 基 本 应 用 程 序 - 图500第 2 章 建 立 基 本 应 用 程 序 - 图501第 2 章 建 立 基 本 应 用 程 序 - 图502第 2 章 建 立 基 本 应 用 程 序 - 图503不 要 以 为 你 可 以 任 意 使 用 M F C 调 用 例 如 不 能 创 建 CD ia lo g 对 象 并 实 际使 用 该 对 象 如 果 这 样 做 的 话 即 使 你 让 代 码 通 过 了 编 译 也 可 能 会 产 生 下 述两 种 情 况 或 者 程 序 以 运 行 时 错 误 而 终 止 运 行 或 者 应 用 程 序 忽 略 与 对 话 框 有关 的 代 码

技 巧 在 确 定 哪 些 M F C 类 可 以 使 用 时 的 一 条 重 要 原 则 是 看 该 类 是 否 操 作 图像 元 素 如 果 某 个 类 操 作 图 像 元 素 的 话 你 就 不 能 在 控 制 台 应 用 程 序中 使 用 该 类 另 外 你 还 会 发 现 某 些 系 统 调 用 不 再 有 效 并 且 当 系 统调 用 涉 及 安 全 问 题 和 磁 盘 访 问 时 你 还 必 须 小 心 仔 细 地 进 行 实 验 如果 存 在 疑 问 的 话 那 么 就 只 好 使 用 AFXCOLL.H 第 2 章 建 立 基 本 应 用 程 序 - 图504 或 其 它 任 何 相 关 的 头文 件 比 如 AFX.H 第 2 章 建 立 基 本 应 用 程 序 - 图505 中 列 出 的 调 用 而 不 使 用 其 它 调 用 在 任 何 控 制台 应 用 程 序 中 你 都 可 以 安 全 地 使 用 AFXCOLL.H 文 件 中 列 出 的 所 有 调用

第 2 章 建 立 基 本 应 用 程 序 - 图506第 2 章 建 立 基 本 应 用 程 序 - 图507第 2 章 建 立 基 本 应 用 程 序 - 图508第 2 章 建 立 基 本 应 用 程 序 - 图509第 2 章 建 立 基 本 应 用 程 序 - 图510第 2 章 建 立 基 本 应 用 程 序 - 图511现 在 我 们 已 经 得 到 了 一 些 要 显 示 的 数 据 随 后 的 代 码 把 这 些 数 据 发 送 到

第 2 章 建 立 基 本 应 用 程 序 - 图512第 2 章 建 立 基 本 应 用 程 序 - 图513第 2 章 建 立 基 本 应 用 程 序 - 图514第 2 章 建 立 基 本 应 用 程 序 - 图515s tdout 标 准 输 出 设 备 上 这 就 是 我 要 向 读 者 展 示 的 第 三 个 技 巧 在 绝 大 多 数

第 2 章 建 立 基 本 应 用 程 序 - 图516第 2 章 建 立 基 本 应 用 程 序 - 图517第 2 章 建 立 基 本 应 用 程 序 - 图518第 2 章 建 立 基 本 应 用 程 序 - 图519第 2 章 建 立 基 本 应 用 程 序 - 图520第 2 章 建 立 基 本 应 用 程 序 - 图521第 2 章 建 立 基 本 应 用 程 序 - 图522第 2 章 建 立 基 本 应 用 程 序 - 图523第 2 章 建 立 基 本 应 用 程 序 - 图524第 2 章 建 立 基 本 应 用 程 序 - 图525第 2 章 建 立 基 本 应 用 程 序 - 图526t 标 准 输 出 第 2 章 建 立 基 本 应 用 程 序 - 图527 设 备 上 这 就 是 我 要 向 读 者 展 示 的 第 三 个 技 巧 在 绝 大 多 数 情 况下 s tdout 代 表 了 显 示 当 然 如 果 需 要 的 话 你 也 可 以 轻 易 地 把 输 出 发 送 到其 它 地 方 这 里 的 要 点 是 使 用 了 与 以 前 使 用 格 式 化 方 式 相 同 的 格 式 化 方 式 这样 你 也 可 以 在 代 码 中 使 用 fp rin tf() 函 数 调 用 的 地 方 使 用 简 单 一 些 的 fp rin t() 函 数调 用

第 2 章 建 立 基 本 应 用 程 序 - 图528第 2 章 建 立 基 本 应 用 程 序 - 图529第 2 章 建 立 基 本 应 用 程 序 - 图530第 2 章 建 立 基 本 应 用 程 序 - 图531第 2 章 建 立 基 本 应 用 程 序 - 图532第 2 章 建 立 基 本 应 用 程 序 - 图533第 2 章 建 立 基 本 应 用 程 序 - 图534第 2 章 建 立 基 本 应 用 程 序 - 图535第 2 章 建 立 基 本 应 用 程 序 - 图536第 2 章 建 立 基 本 应 用 程 序 - 图537第 2 章 建 立 基 本 应 用 程 序 - 图538第 2 章 建 立 基 本 应 用 程 序 - 图539第 2 章 建 立 基 本 应 用 程 序 - 图540第 2 章 建 立 基 本 应 用 程 序 - 图541在 m a in ( ) 函 数 中 还 有 一 个 调 用 没 有 讲 到 我 们 把 数 据 发 送 到 一 个 名 称 为CD ra w B o x 的 类 中 这 是 我 要 向 读 者 展 示 的 第 四 个 技 巧 这 个 类 要 完 成 的 任 务就 是 在 一 个 文 本 框 中 让 文 本 居 中 对 齐 使 用 AS C I I 字 符 集 的 高 位 字 符 第 2 章 建 立 基 本 应 用 程 序 - 图542 你 或许 在 许 多 DOS 应 用 程 序 中 见 到 过 这 种 做 法 这 里 的 想 法 是 从 M F C C O b ject 类中 导 出 一 个 新 类 然 后 在 控 制 台 应 用 程 序 中 使 用 该 新 类 同 样 地 在 你 自 己 创建 的 应 用 程 序 也 可 以 使 用 类 似 的 技 巧 正 如 前 面 我 曾 经 介 绍 过 的 那 样 当 你 把DOS 应 用 程 序 迁 移 到 W ind ow s 环 境 时 你 会 有 一 种 向 应 用 程 序 中 添 加 更 多 功 能的 强 烈 愿 望 添 加 功 能 意 义 的 大 小 依 赖 于 应 用 程 序 迁 移 时 所 耗 费 的 时 间 长 短 以及 增 强 功 能 对 整 个 应 用 程 序 的 相 对 价 值 的 大 小

第 2 章 建 立 基 本 应 用 程 序 - 图543第 2 章 建 立 基 本 应 用 程 序 - 图544第 2 章 建 立 基 本 应 用 程 序 - 图545第 2 章 建 立 基 本 应 用 程 序 - 图546第 2 章 建 立 基 本 应 用 程 序 - 图547第 2 章 建 立 基 本 应 用 程 序 - 图548第 2 章 建 立 基 本 应 用 程 序 - 图549第 2 章 建 立 基 本 应 用 程 序 - 图550第 2 章 建 立 基 本 应 用 程 序 - 图551第 2 章 建 立 基 本 应 用 程 序 - 图552第 2 章 建 立 基 本 应 用 程 序 - 图553这 个 控 制 台 应 用 程 序 示 例 可 以 开 始 运 行 了 然 而 与 你 写 过 的 许 多 DOS 应用 程 序 相 似 为 了 便 于 测 试 我 们 需 要 一 个 批 处 理 文 件 程 序 列 表 2 .2 是 本 例使 用 的 批 处 理 文 件 的 源 代 码 它 完 成 的 任 务 是 调 用 程 序 测 试 是 否 出 错 如 果出 错 时 反 馈 一 条 出 错 信 息 前 面 你 已 经 看 到 了 该 应 用 程 序 的 输 出 这 里 就 不 再重 复 了

程 序 列 表 2 . 2

@ E C HO OF F

C O NS OL E

IF ER R O R L EV EL== 1 E C H O IT 'S B A D C O NS OL E J O HN

IF ER R O R L EV EL== 1 E C H O IT 'S B A D @ E C HO ON

  1. 3 编 写 基 于 对 话 框 的 应 用 程 序

第 2 章 建 立 基 本 应 用 程 序 - 图554第 2 章 建 立 基 本 应 用 程 序 - 图555第 2 章 建 立 基 本 应 用 程 序 - 图556第 2 章 建 立 基 本 应 用 程 序 - 图557第 2 章 建 立 基 本 应 用 程 序 - 图558第 2 章 建 立 基 本 应 用 程 序 - 图559基 于 对 话 框 的 应 用 程 序 十 分 常 用 于 像 实 用 程 序 系 统 监 控 程 序 甚 至 向 导 这样 的 小 型 任 务 中 绝 大 多 数 情 况 下 它 们 专 门 用 于 把 复 杂 程 度 降 到 最 低 限 度 的应 用 程 序 中 实 际 上 可 以 安 全 地 假 定 基 于 对 话 框 的 应 用 程 序 只 使 用 很 少 的 控件

第 2 章 建 立 基 本 应 用 程 序 - 图560第 2 章 建 立 基 本 应 用 程 序 - 图561第 2 章 建 立 基 本 应 用 程 序 - 图562第 2 章 建 立 基 本 应 用 程 序 - 图563第 2 章 建 立 基 本 应 用 程 序 - 图564第 2 章 建 立 基 本 应 用 程 序 - 图565我 们 要 看 一 看 另 外 一 个 简 单 示 例 在 这 个 示 例 程 序 中 我 们 要 组 合 使 用A c tiv e X 控 件 和 内 置 部 件 以 把 所 需 的 实 际 代 码 量 减 少 到 最 低 限 度 下 面 的 步骤 将 帮 助 你 建 立 一 个 空 的 结 构 随 后 再 填 充 代 码

  1. 第 2 章 建 立 基 本 应 用 程 序 - 图566第 2 章 建 立 基 本 应 用 程 序 - 图567

    开 V is u a l C + + 如 果 还 没 有 打 开 的 话 第 2 章 建 立 基 本 应 用 程 序 - 图568

  2. 第 2 章 建 立 基 本 应 用 程 序 - 图569第 2 章 建 立 基 本 应 用 程 序 - 图570第 2 章 建 立 基 本 应 用 程 序 - 图571第 2 章 建 立 基 本 应 用 程 序 - 图572第 2 章 建 立 基 本 应 用 程 序 - 图573使

    用 F ile | N e w 命 令 打 开 N e w 对 话 框 然 后 选 择 P ro je c t 选 项 卡 本 例 中我 们 将 在 工 程 类 型 列 表 中 选 择 M F C A ppW iz a rd EX E 第 2 章 建 立 基 本 应 用 程 序 - 图574 工 程 类 型

  3. 第 2 章 建 立 基 本 应 用 程 序 - 图575第 2 章 建 立 基 本 应 用 程 序 - 图576第 2 章 建 立 基 本 应 用 程 序 - 图577第 2 章 建 立 基 本 应 用 程 序 - 图578第 2 章 建 立 基 本 应 用 程 序 - 图579

    P ro ject N a m e 域 中 键 入 应 用 程 序 的 名 称 本 样 本 程 序 使 用 的 名 称 为 D ia - lo g 但 你 也 可 以 使 用 任 何 自 己 喜 欢 的 名 称 必 要 时 修 改 Lo c a tio n 域 的 值 单 击L o c a tio n 域 旁 边 的 按 钮 进 行 选 择 第 2 章 建 立 基 本 应 用 程 序 - 图580

  4. 第 2 章 建 立 基 本 应 用 程 序 - 图581第 2 章 建 立 基 本 应 用 程 序 - 图582

    击 OK 按 钮 你 会 看 到 如 下 图 所 示 的 M F C A ppW iz a rd - S te p 1 对 话 框

第 2 章 建 立 基 本 应 用 程 序 - 图583

  1. 第 2 章 建 立 基 本 应 用 程 序 - 图584第 2 章 建 立 基 本 应 用 程 序 - 图585第 2 章 建 立 基 本 应 用 程 序 - 图586

    择 D ia lo g B a s e d 选 项 按 钮 然 后 单 击 N e x t 系 统 显 示 如 下 图 所 示 的 M F C A ppW iz a rd - S te p 2 of 4 对 话 框

第 2 章 建 立 基 本 应 用 程 序 - 图587

  1. 第 2 章 建 立 基 本 应 用 程 序 - 图588第 2 章 建 立 基 本 应 用 程 序 - 图589第 2 章 建 立 基 本 应 用 程 序 - 图590第 2 章 建 立 基 本 应 用 程 序 - 图591第 2 章 建 立 基 本 应 用 程 序 - 图592第 2 章 建 立 基 本 应 用 程 序 - 图593

    P le a s e E n te r a T itle fo r Y o u r D ia lo g 域 中 键 入 Sa m p le D ia lo g A p p lic a t io n 注 意 在 这 个 对 话 框 中 可 以 给 应 用 程 序 增 加 一 些 其 它 特 性 比 如上 下 文 相 关 帮 助 等 A u to m a tio n 复 选 框 允 许 把 OL E 自 动 化 功 能 添 加 到 应 用 程 序中 你 也 可 以 在 这 个 对 话 框 中 对 应 用 程 序 增 加 W ind ow s S o c k e ts 支 持 — — 该 支 持允 许 应 用 程 序 通 过 TC P /IP 网 络 进 行 通 信

第 2 章 建 立 基 本 应 用 程 序 - 图594第 2 章 建 立 基 本 应 用 程 序 - 图595第 2 章 建 立 基 本 应 用 程 序 - 图596第 2 章 建 立 基 本 应 用 程 序 - 图597第 2 章 建 立 基 本 应 用 程 序 - 图598第 2 章 建 立 基 本 应 用 程 序 - 图599第 2 章 建 立 基 本 应 用 程 序 - 图600第 2 章 建 立 基 本 应 用 程 序 - 图601第 2 章 建 立 基 本 应 用 程 序 - 图602第 2 章 建 立 基 本 应 用 程 序 - 图603第 2 章 建 立 基 本 应 用 程 序 - 图604第 2 章 建 立 基 本 应 用 程 序 - 图605第 2 章 建 立 基 本 应 用 程 序 - 图606技 巧 把 M F C 静 态 链 接 到 应 用 程 序 中 可 以 减 少 发 布 应 用 程 序 时 必 须 分 发 的文 件 的 数 量 实 际 上 如 果 愿 意 的 话 你 可 以 只 向 其 他 人 提 供 应 用 程序 的 可 执 行 文 件 这 种 方 式 也 提 高 了 应 用 程 序 在 各 个 所 安 装 机 器 上 正常 运 行 的 机 会 原 因 在 于 应 用 程 序 总 是 访 问 设 计 应 用 程 序 时 使 用 的MFC 版 本 静 态 链 接 的 缺 点 是 应 用 程 序 变 得 更 加 庞 大 而 且 在 加 载 时占 用 更 多 的 内 存 另 外 无 论 什 么 时 候 当 你 想 给 应 用 程 序 增 加 新 的特 性 时 都 必 须 重 新 链 接 应 用 程 序 不 久 这 种 方 式 就 会 让 人 感 到 厌 烦

  1. 第 2 章 建 立 基 本 应 用 程 序 - 图607第 2 章 建 立 基 本 应 用 程 序 - 图608第 2 章 建 立 基 本 应 用 程 序 - 图609第 2 章 建 立 基 本 应 用 程 序 - 图610第 2 章 建 立 基 本 应 用 程 序 - 图611第 2 章 建 立 基 本 应 用 程 序 - 图612

    击 N e x t 然 后 再 单 击 N e x t 我 们 不 需 要 改 变 这 两 个 对 话 框 中 的 设 置 但 应 该 知 道 它 们 的 作 用 前 一 个 对 话 框 让 你 选 择 是 否 要 在 代 码 中 添 加 注 释 你还 可 以 选 择 M F C 是 静 态 还 是 动 态 链 接 到 应 用 程 序 中

  2. 第 2 章 建 立 基 本 应 用 程 序 - 图613第 2 章 建 立 基 本 应 用 程 序 - 图614第 2 章 建 立 基 本 应 用 程 序 - 图615第 2 章 建 立 基 本 应 用 程 序 - 图616

    击 F in is h V is u a l C + + 显 示 如 下 图 所 示 的 N e w P ro ject In fo rm atio n 对 话框 这 是 你 确 保 各 种 设 置 都 正 确 无 误 的 最 后 一 次 机 会 不 正 确 的 设 置 选 择 将 延长 工 程 的 开 发 时 间 而 不 是 缩 短 开 发 时 间

第 2 章 建 立 基 本 应 用 程 序 - 图617

  1. 第 2 章 建 立 基 本 应 用 程 序 - 图618第 2 章 建 立 基 本 应 用 程 序 - 图619

    击 OK M F C A p p W izard 将 生 成 应 用 程 序 的 框 架

第 2 章 建 立 基 本 应 用 程 序 - 图620第 2 章 建 立 基 本 应 用 程 序 - 图621第 2 章 建 立 基 本 应 用 程 序 - 图622第 2 章 建 立 基 本 应 用 程 序 - 图623第 2 章 建 立 基 本 应 用 程 序 - 图624现 在 我 们 已 经 得 到 了 一 个 可 以 使 用 的 基 本 程 序 框 架 到 了 实 际 开 始 编 写 示例 程 序 的 时 候 了 由 于 这 个 程 序 要 使 用 M ic ros oft C a le nd a r 控 件 所 以 我 们 要 做的 第 一 件 事 就 是 安 装 所 需 的 A c tiv e X 控 件 使 用 P ro je c t | A dd to P ro je c t | C o m po- ne n ts a nd C on tro ls 命 令 显 示 如 下 图 所 示 的 C o m pon e n ts a nd C on tro ls G a lle r y 对 话框

第 2 章 建 立 基 本 应 用 程 序 - 图625注 确 保 已 经 安 装 了 Visual C++ 携 带 的 OCX 控 件 否 则 可 能 就 没 有 可 用 的

第 2 章 建 立 基 本 应 用 程 序 - 图626Microsoft Calendar 控 件

第 2 章 建 立 基 本 应 用 程 序 - 图627

第 2 章 建 立 基 本 应 用 程 序 - 图628第 2 章 建 立 基 本 应 用 程 序 - 图629第 2 章 建 立 基 本 应 用 程 序 - 图630第 2 章 建 立 基 本 应 用 程 序 - 图631第 2 章 建 立 基 本 应 用 程 序 - 图632第 2 章 建 立 基 本 应 用 程 序 - 图633第 2 章 建 立 基 本 应 用 程 序 - 图634第 2 章 建 立 基 本 应 用 程 序 - 图635第 2 章 建 立 基 本 应 用 程 序 - 图636第 2 章 建 立 基 本 应 用 程 序 - 图637双 击 R e g is tered A c tiv eX C o n tro ls 文 件 夹 你 就 会 看 到 机 器 中 已 经 注 册 的 一系 列 控 件 找 到 C a le nda r C o n tro l 8 .0 列 表 项 这 是 本 版 V is u a l C + + 携 带 的 控 件之 一 第 2 章 建 立 基 本 应 用 程 序 - 图638 然 后 单 击 In s e rt V is u a l C + + 将 显 示 一 个 对 话 框 询 问 是 否 真 要 把 这 个 控件 插 入 到 工 程 中 单 击 OK V is u a l C + + 将 添 加 某 些 包 装 类 到 应 用 程 序 中 以 便为 其 提 供 该 A c tiv e X 控 件 V is u a l C + + 在 如 下 图 所 示 的 C onfirm C la s s e s 对 话 框中 显 示 这 些 类 的 类 名

第 2 章 建 立 基 本 应 用 程 序 - 图639第 2 章 建 立 基 本 应 用 程 序 - 图640第 2 章 建 立 基 本 应 用 程 序 - 图641第 2 章 建 立 基 本 应 用 程 序 - 图642单 击 OK 接 受 缺 省 的 A c tiv e X 控 件 类 设 置 现 在 我 们 有 了 一 个 可 以 使 用 的 新控 件 它 被 添 加 到 了 工 具 箱 中 单 击 C lo s e 按 钮 关 闭 C o m pone n ts a nd C o n tro ls G a lle r y 对 话 框

第 2 章 建 立 基 本 应 用 程 序 - 图643

现 在 到 了 设 计 对 话 框 的 时 候 了 图 2 .1 显 示 了 设 计 好 的 对 话 框 该 对 话 框 的当 前 大 小 为 300 200 我 把 C a le nda r 控 件 的 大 小 调 整 为 230 186 这 样 该 控 件上 的 数 字 就 看 得 清 楚 些 了 请 注 意 虽 然 该 应 用 程 序 现 在 并 没 有 运 行 但 C a le nda r 控 件 依 然 立 即 显 示 当 前 日 期 这 是 由 于 在 把 A c tiv e X 控 件 放 置 到 对 话 框 上 时

第 2 章 建 立 基 本 应 用 程 序 - 图644第 2 章 建 立 基 本 应 用 程 序 - 图645第 2 章 建 立 基 本 应 用 程 序 - 图646第 2 章 建 立 基 本 应 用 程 序 - 图647第 2 章 建 立 基 本 应 用 程 序 - 图648第 2 章 建 立 基 本 应 用 程 序 - 图649第 2 章 建 立 基 本 应 用 程 序 - 图650第 2 章 建 立 基 本 应 用 程 序 - 图651第 2 章 建 立 基 本 应 用 程 序 - 图652第 2 章 建 立 基 本 应 用 程 序 - 图653第 2 章 建 立 基 本 应 用 程 序 - 图654第 2 章 建 立 基 本 应 用 程 序 - 图655第 2 章 建 立 基 本 应 用 程 序 - 图656第 2 章 建 立 基 本 应 用 程 序 - 图657第 2 章 建 立 基 本 应 用 程 序 - 图658该 控 件 自 动 激 活 了 自 身 如 果 在 你 把 某 个 控 件 放 置 到 对 话 框 上 时 并 没 有 发 生 其它 反 应 或 许 该 控 件 没 有 正 确 地 安 装 显 然 需 要 检 查 控 件 的 文 档 以 确 保 控 件

第 2 章 建 立 基 本 应 用 程 序 - 图659第 2 章 建 立 基 本 应 用 程 序 - 图660按 所 期 待 的 方 式 工 作

技 巧 在 屏 幕 右 部 状 态 条 第 二 个 方 框 中 总 能 看 到 当 前 控 件 的 大 小 紧 挨 着该 方 框 的 左 边 方 框 中 显 示 了 所 选 控 件 相 对 于 显 示 区 左 上 角 的 位 置 利用 这 两 个 方 框 可 以 十 分 精 确 地 控 制 控 件 在 对 话 框 上 的 大 小 和 位 置

第 2 章 建 立 基 本 应 用 程 序 - 图661第 2 章 建 立 基 本 应 用 程 序 - 图662第 2 章 建 立 基 本 应 用 程 序 - 图663第 2 章 建 立 基 本 应 用 程 序 - 图664第 2 章 建 立 基 本 应 用 程 序 - 图665第 2 章 建 立 基 本 应 用 程 序 - 图666第 2 章 建 立 基 本 应 用 程 序 - 图667第 2 章 建 立 基 本 应 用 程 序 - 图668如 果 现 在 编 译 和 运 行 这 个 应 用 程 序 你 会 发 现 它 只 是 个 半 成 品 日 历 会 让你 选 择 新 的 日 期 单 击 OK 按 钮 后 对 话 框 也 会 消 失 但 也 只 是 如 此 该 程 序 现在 还 没 有 更 多 的 其 它 功 能

第 2 章 建 立 基 本 应 用 程 序 - 图669

第 2 章 建 立 基 本 应 用 程 序 - 图670图 2. 1 加入 控件 后 基于对 话框 的示 例程序 开始 成型了

第 2 章 建 立 基 本 应 用 程 序 - 图671第 2 章 建 立 基 本 应 用 程 序 - 图672第 2 章 建 立 基 本 应 用 程 序 - 图673第 2 章 建 立 基 本 应 用 程 序 - 图674第 2 章 建 立 基 本 应 用 程 序 - 图675在 给 C a le nda r 控 件 添 加 代 码 之 前 我 们 还 要 为 它 创 建 一 个 成 员 变 量 创 建成 员 变 量 是 件 简 单 的 事 按 住 CT RL 键 双 击 C a le nda r 控 件 系 统 显 示 如 下 图 所示 的 A dd M e m b e r V a r ia b le 对 话 框

第 2 章 建 立 基 本 应 用 程 序 - 图676

第 2 章 建 立 基 本 应 用 程 序 - 图677第 2 章 建 立 基 本 应 用 程 序 - 图678第 2 章 建 立 基 本 应 用 程 序 - 图679由 于 该 控 件 是 应 用 程 序 中 使 用 的 第 一 个 C a le nda r 控 件 因 此 在 m_ 第 2 章 建 立 基 本 应 用 程 序 - 图680 不 要 删除 m_ 第 2 章 建 立 基 本 应 用 程 序 - 图681 后 键 入 C a le n d a r 1 单 击 OK 创 建 该 变 量

第 2 章 建 立 基 本 应 用 程 序 - 图682第 2 章 建 立 基 本 应 用 程 序 - 图683下 一 步 要 完 成 的 任 务 是 检 测 用 户 是 否 改 变 了 该 控 件 右 击 C a le nda r 控 件

第 2 章 建 立 基 本 应 用 程 序 - 图684第 2 章 建 立 基 本 应 用 程 序 - 图685第 2 章 建 立 基 本 应 用 程 序 - 图686你 会 看 到 一 个 上 下 文 菜 单 从 中 选 择 Ev e n ts 系 统 显 示 如 下 图 所 示 的 N e w W in - dow s M e s s a g e a nd E v e n t H a n d le rs 对 话 框

第 2 章 建 立 基 本 应 用 程 序 - 图687

第 2 章 建 立 基 本 应 用 程 序 - 图688第 2 章 建 立 基 本 应 用 程 序 - 图689第 2 章 建 立 基 本 应 用 程 序 - 图690第 2 章 建 立 基 本 应 用 程 序 - 图691第 2 章 建 立 基 本 应 用 程 序 - 图692第 2 章 建 立 基 本 应 用 程 序 - 图693第 2 章 建 立 基 本 应 用 程 序 - 图694第 2 章 建 立 基 本 应 用 程 序 - 图695第 2 章 建 立 基 本 应 用 程 序 - 图696第 2 章 建 立 基 本 应 用 程 序 - 图697第 2 章 建 立 基 本 应 用 程 序 - 图698该 对 话 框 包 含 了 控 件 可 以 监 视 的 所 有 事 件 的 完 整 列 表 程 序 员 在 设 计 该 控件 时 设 置 了 这 些 事 件 在 本 例 的 情 况 下 我 们 要 监 视 D b lC lic k 事 件 加 亮 D b lC lic k 事 件 列 表 项 然 后 单 击 A dd a nd E d it 按 钮 V is u a l C + + 显 示 A dd M e m b e r F unc t ion 对 话 框 单 击 OK 接 受 缺 省 的 函 数 名 你 会 看 到 一 个 空 的 函 数 体 现 在 我 们 要完 成 的 任 务 就 是 加 些 代 码 让 函 数 正 常 工 作 程 序 列 表 2 .3 显 示 了 所 需 的 程 序 代码

程 序 列 表 2 . 3

vo id C D ia logD L g : : O nD b lC l ic kC a le n d a r 1 ( )

{

C S tr in g c S elected D a te ; // D a te s e lec ted b y u s er. C h ar * cD a y = " " ; / / S e lected d a y .

C h ar * cY ear = " " ; / / S e lecte d ye ar.

/ / G e t d a y fro m c a le n d a r c o n tro l .

i to a ( m _ C alend a r 1 . G e t D a y ( ) , cD ay ,1 0 ) ; cS elec te d D ate = cD ay ;

/ / G e t m on th f ro m c a le n d a r c on tro l . s w i tc h ( m _C a le n da r 1 .G e t M o n th ( ) )

{

cas e 1 :

cS elec te d D ate = cS e le c te dD ate + " J a n u ary " ; bre a k;

cas e 2 :

cS elec te d D ate = cS e le c te dD ate + " F e b ru a ry " ; bre a k;

cas e 3 :

cS elec te d D ate = cS e le c te dD ate + " M a rc h " ; bre a k;

cas e 4 :

cS elec te d D ate = cS e le c te dD ate + " A p r i l " ; bre a k;

cas e 5 :

cS elec te d D ate = cS e le c te dD ate + " M a y " ; bre a k;

cas e 6 :

cS elec te d D ate = cS e le c te dD ate + " J u ne " ; bre a k;

cas e 7 :

cS elec te d D ate = cS e le c te dD ate + " J u ly " ; bre a k;

cas e 8 :

cS elec te d D ate = cS e le c te dD ate + " A u g u s t " ; bre a k;

cas e 9 :

cS elec te d D ate = cS e le c te dD ate + " S e p tem b e r " ; bre a k;

cas e 1 0 :

cS elec te d D ate = cS e le c te dD ate + " O c to b e r " ; bre a k;

cas e 1 1 :

cS elec te d D ate = cS e le c te dD ate + " N o v e m b er " ; bre a k;

cas e 1 2 :

cS elec te d D ate = cS e le c te dD ate + " D e c e m b er " ; bre a k;

}

// G e t th e y e a r .

ito a ( m _ C a le n d a r 1 .G e tY e a r ( ) , c Y e a r , 1 0 ) ; cS elec te d D ate = cS e le c te d D ate + cY e a r ;

//D is p la y th e d a te .

A fxM e s s a ge B ox (" Y o u d o ub le - c l ic k e d o n :" + c S e le c te d D a te , M B _O K | M B _ IN F OR M A T ION, 0 ) ;

}

第 2 章 建 立 基 本 应 用 程 序 - 图699第 2 章 建 立 基 本 应 用 程 序 - 图700第 2 章 建 立 基 本 应 用 程 序 - 图701第 2 章 建 立 基 本 应 用 程 序 - 图702第 2 章 建 立 基 本 应 用 程 序 - 图703第 2 章 建 立 基 本 应 用 程 序 - 图704第 2 章 建 立 基 本 应 用 程 序 - 图705现 在 你 可 以 运 行 该 应 用 程 序 了 它 也 确 实 会 完 成 一 些 任 务 编 译 并 运 行这 个 应 用 程 序 双 击 任 意 日 期 程 序 显 示 如 图 2 .2 所 示 的 对 话 框 该 对 话 框 以易 于 阅 读 的 方 式 显 示 了 你 在 C a le nda r 控 件 中 所 选 的 日 期 虽 然 这 个 功 能 现 在 看

第 2 章 建 立 基 本 应 用 程 序 - 图706第 2 章 建 立 基 本 应 用 程 序 - 图707第 2 章 建 立 基 本 应 用 程 序 - 图708起 来 并 没 有 多 大 用 处 但 你 有 多 种 方 法 轻 易 地 扩 展 这 个 实 用 程 序 的 功 能 例 如

第 2 章 建 立 基 本 应 用 程 序 - 图709

第 2 章 建 立 基 本 应 用 程 序 - 图710

第 2 章 建 立 基 本 应 用 程 序 - 图711

第 2 章 建 立 基 本 应 用 程 序 - 图712

第 2 章 建 立 基 本 应 用 程 序 - 图713用 尽 电 池 的 情 况 下

第 2 章 建 立 基 本 应 用 程 序 - 图714

图 2 .2 样本 对话 框应 用程序 显示 一个 对话框 告诉 用户它 所选 择的 日期

第 2 章 建 立 基 本 应 用 程 序 - 图715第 2 章 建 立 基 本 应 用 程 序 - 图716第 2 章 建 立 基 本 应 用 程 序 - 图717第 2 章 建 立 基 本 应 用 程 序 - 图718第 2 章 建 立 基 本 应 用 程 序 - 图719第 2 章 建 立 基 本 应 用 程 序 - 图720第 2 章 建 立 基 本 应 用 程 序 - 图721第 2 章 建 立 基 本 应 用 程 序 - 图722第 2 章 建 立 基 本 应 用 程 序 - 图723第 2 章 建 立 基 本 应 用 程 序 - 图724第 2 章 建 立 基 本 应 用 程 序 - 图725第 2 章 建 立 基 本 应 用 程 序 - 图726第 2 章 建 立 基 本 应 用 程 序 - 图727C a le nda r 控 件 提 供 了 不 少 的 功 能 绝 大 部 分 本 章 中 都 没 有 涉 及 再 做 一 个把 日 期 设 置 回 当 天 日 期 的 按 钮 简 单 方 便 这 样 当 你 打 电 话 离 开 一 会 儿 时 就 可以 用 了 添 加 这 样 的 按 钮 一 点 也 不 难 图 2 .3 显 示 了 我 已 经 添 加 到 现 存 工 程 中的 按 钮 它 的 ID 为 ID C_ RE S E T _ D A T E 标 题 为 R e s e t D a te 如 果 把 该 按 钮 放置 在 243 ,39 并 把 它 调 整 到 50 40 的 大 小 时 对 话 框 看 上 去 更 舒 服 些

第 2 章 建 立 基 本 应 用 程 序 - 图728第 2 章 建 立 基 本 应 用 程 序 - 图729第 2 章 建 立 基 本 应 用 程 序 - 图730第 2 章 建 立 基 本 应 用 程 序 - 图731第 2 章 建 立 基 本 应 用 程 序 - 图732第 2 章 建 立 基 本 应 用 程 序 - 图733第 2 章 建 立 基 本 应 用 程 序 - 图734第 2 章 建 立 基 本 应 用 程 序 - 图735第 2 章 建 立 基 本 应 用 程 序 - 图736既 然 我 们 有 了 按 钮 那 就 再 添 加 几 行 代 码 吧 右 击 该 按 钮 并 从 上 下 文 菜 单中 选 择 Ev e n ts 系 统 显 示 N e w W indow s M e s s a ge a nd E v e n t H a nd le rs 对 话 框 选择 BN _ C L ICK E D 事 件 然 后 单 击 A dd a n d E d it 单 击 OK 接 受 缺 省 的 过 程 名 你 会 看 到 一 个 空 的 过 程 程 序 列 表 2 .4 提 供 了 要 在 该 过 程 中 添 加 的 代 码

第 2 章 建 立 基 本 应 用 程 序 - 图737

图 2 .3 提供 个按 钮在 操作了 一阵 日历 后把日 期重 新设置 到当 前日 期确实 很方 便

程 序 列 表 2 . 4

vo id C D ia logD L g : : O nR e se t D a te ( )

{

// R e s e t s e le c te d c a le n d a r d a te to to d a y . m _ c a le n da r 1 .T od a y ( )

}

第 2 章 建 立 基 本 应 用 程 序 - 图738第 2 章 建 立 基 本 应 用 程 序 - 图739第 2 章 建 立 基 本 应 用 程 序 - 图740第 2 章 建 立 基 本 应 用 程 序 - 图741第 2 章 建 立 基 本 应 用 程 序 - 图742第 2 章 建 立 基 本 应 用 程 序 - 图743现 在 只 要 你 单 击 一 下 R e s e t D a te 按 钮 C a le nda r 控 件 就 会 向 用 户 返 回 当 前 的月 份 和 年 度 虽 然 这 段 代 码 并 不 复 杂 它 却 展 示 了 在 不 增 加 应 用 程 序 使 用 复 杂程 度 的 情 况 下 给 对 话 框 应 用 程 序 添 加 功 能 的 途 径 当 然 即 使 只 有 少 量 的 这 种按 钮 过 上 一 阵 子 也 会 让 人 厌 倦

  1. 4 编 写 单 文 档 应 用 程 序

第 2 章 建 立 基 本 应 用 程 序 - 图744第 2 章 建 立 基 本 应 用 程 序 - 图745第 2 章 建 立 基 本 应 用 程 序 - 图746每 个 版 本 的 M ic ros oft V is u a l C + + 向 导 都 有 轻 微 的 改 进 在 你 集 中 精 力 使 用某 个 向 导 的 过 程 中 设 置 应 用 程 序 时 遗 漏 某 些 东 西 也 是 件 毫 不 奇 怪 的 事 情

第 2 章 建 立 基 本 应 用 程 序 - 图747第 2 章 建 立 基 本 应 用 程 序 - 图748第 2 章 建 立 基 本 应 用 程 序 - 图749第 2 章 建 立 基 本 应 用 程 序 - 图750第 2 章 建 立 基 本 应 用 程 序 - 图751第 2 章 建 立 基 本 应 用 程 序 - 图752第 2 章 建 立 基 本 应 用 程 序 - 图753第 2 章 建 立 基 本 应 用 程 序 - 图754本 节 研 究 单 文 档 应 用 程 序 — — 或 许 你 已 经 用 它 编 写 过 某 个 小 型 的 文 本 编 辑器 或 其 它 轻 型 通 用 的 文 档 编 辑 器 本 例 中 我 们 将 创 建 一 个 丰 富 格 式 文 本 编辑 器 它 不 需 要 做 多 少 工 作 就 可 以 很 好 地 编 辑 文 本 了 在 本 书 后 续 章 节 中 我们 将 给 这 个 程 序 增 加 新 的 功 能 使 其 更 加 有 实 用 价 值

第 2 章 建 立 基 本 应 用 程 序 - 图755

第 2 章 建 立 基 本 应 用 程 序 - 图756第 2 章 建 立 基 本 应 用 程 序 - 图757第 2 章 建 立 基 本 应 用 程 序 - 图758第 2 章 建 立 基 本 应 用 程 序 - 图759第 2 章 建 立 基 本 应 用 程 序 - 图760第 2 章 建 立 基 本 应 用 程 序 - 图761第 2 章 建 立 基 本 应 用 程 序 - 图762第 2 章 建 立 基 本 应 用 程 序 - 图763第 2 章 建 立 基 本 应 用 程 序 - 图764第 2 章 建 立 基 本 应 用 程 序 - 图765第 2 章 建 立 基 本 应 用 程 序 - 图766开 始 这 个 工 程 时 使 用 F ile |N e w 显 示 N e w 对 话 框 选 择 M F C A ppW iz a rd( E X E ) 工 程 类 型 在 P ro ject N a m e 域 键 入 应 用 名 称 示 例 应 用 中 使 用 S ng1_D oc 作 为应 用 程 序 名 称 但 你 也 可 以 使 用 与 此 相 似 的 任 何 名 称 单 击 OK 系 统 显 示 M F C A ppW iz a rd - S te p 1 对 话 框 选 择 S in g le D o c u m e n t 选 项 然 后 单 击 N e x t 系 统显 示 如 下 图 所 示 的 M F C A ppW iz a rd - S te p 2 of 6 对 话 框

第 2 章 建 立 基 本 应 用 程 序 - 图767第 2 章 建 立 基 本 应 用 程 序 - 图768第 2 章 建 立 基 本 应 用 程 序 - 图769第 2 章 建 立 基 本 应 用 程 序 - 图770第 2 章 建 立 基 本 应 用 程 序 - 图771第 2 章 建 立 基 本 应 用 程 序 - 图772这 是 需 要 你 做 出 决 策 的 第 一 个 位 置 如 果 你 想 在 应 用 程 序 中 增 加 对 数 据 库的 支 持 那 么 需 要 决 定 在 M F C A ppW iz a rd 中 得 到 哪 个 层 次 的 支 持 在 本 书 的 第二 部 分 我 们 将 花 些 时 间 详 细 讨 论 这 个 问 题 因 此 这 里 我 就 不 多 讲 了 单 击 N e x t

第 2 章 建 立 基 本 应 用 程 序 - 图773你 会 看 到 如 下 图 所 示 的 S te p 3 对 话 框

第 2 章 建 立 基 本 应 用 程 序 - 图774

第 2 章 建 立 基 本 应 用 程 序 - 图775第 2 章 建 立 基 本 应 用 程 序 - 图776第 2 章 建 立 基 本 应 用 程 序 - 图777第 2 章 建 立 基 本 应 用 程 序 - 图778第 2 章 建 立 基 本 应 用 程 序 - 图779第 2 章 建 立 基 本 应 用 程 序 - 图780第 2 章 建 立 基 本 应 用 程 序 - 图781第 2 章 建 立 基 本 应 用 程 序 - 图782第 2 章 建 立 基 本 应 用 程 序 - 图783第 2 章 建 立 基 本 应 用 程 序 - 图784第 2 章 建 立 基 本 应 用 程 序 - 图785第 2 章 建 立 基 本 应 用 程 序 - 图786第 2 章 建 立 基 本 应 用 程 序 - 图787第 2 章 建 立 基 本 应 用 程 序 - 图788这 个 对 话 框 的 上 半 部 决 定 了 要 在 应 用 程 序 中 添 加 哪 个 层 次 的 OL E 支 持 添加 的 支 持 越 多 应 用 程 序 也 就 越 大 最 基 本 的 OL E 支 持 层 次 是 用 做 容 器 C on ta ine r 第 2 章 建 立 基 本 应 用 程 序 - 图789 容 器 既 可 以 作 为 客 户 又 可 以 存 储 链 接 对 象 和 嵌 入 对 象 下 一 个 OL E 支 持 层 次 是 M in i- s e rv e r 小 型 服 务 器 第 2 章 建 立 基 本 应 用 程 序 - 图790 它 允 许 创 建 复 合 文 档 小 型 服务 器 不 能 独 立 工 作 另 外 它 只 能 操 作 嵌 入 对 象 作 为 服 务 器 使 用 时 全 功 能

第 2 章 建 立 基 本 应 用 程 序 - 图791第 2 章 建 立 基 本 应 用 程 序 - 图792第 2 章 建 立 基 本 应 用 程 序 - 图793第 2 章 建 立 基 本 应 用 程 序 - 图794第 2 章 建 立 基 本 应 用 程 序 - 图795第 2 章 建 立 基 本 应 用 程 序 - 图796服 务 器 Fu ll- Se rv e r 第 2 章 建 立 基 本 应 用 程 序 - 图797 确 实 具 备 了 OL E 的 全 部 功 能 但 它 却 不 能 作 为 容 器 使 用这 样 的 应 用 程 序 用 起 来 与 M ic ros oft P a in t 画 图 第 2 章 建 立 基 本 应 用 程 序 - 图798 十 分 相 似 你 可 以 把 M ic ros oft Pa in t 文 档 嵌 入 或 链 接 到 你 的 应 用 程 序 中 但 M ic ros oft P a in t 本 身 不 能 存 储 其 它

第 2 章 建 立 基 本 应 用 程 序 - 图799第 2 章 建 立 基 本 应 用 程 序 - 图800第 2 章 建 立 基 本 应 用 程 序 - 图801第 2 章 建 立 基 本 应 用 程 序 - 图802第 2 章 建 立 基 本 应 用 程 序 - 图803第 2 章 建 立 基 本 应 用 程 序 - 图804第 2 章 建 立 基 本 应 用 程 序 - 图805第 2 章 建 立 基 本 应 用 程 序 - 图806入 或 链 接 到 你 的 应 用 程 序 中 但 M ic ros oft P a in t 本 身 不 能 存 储 其 它 应 用 程 序 创建 的 对 象 最 后 B o th C on ta in e r a nd S e rv e r 选 项 让 你 的 应 用 程 序 具 备 本 地 OL E 支 持 的 所 有 功 能 你 既 可 以 把 应 用 程 序 用 做 OL E 服 务 器 也 可 以 将 它 用 做 OL E 客 户 但 是 这 种 应 用 程 序 不 能 用 做 In te rn e t 浏 览 器 — — 原 因 在 于 它 没 有 设 计 成A c tiv e X D o c u m e n t 服 务 器

第 2 章 建 立 基 本 应 用 程 序 - 图807第 2 章 建 立 基 本 应 用 程 序 - 图808第 2 章 建 立 基 本 应 用 程 序 - 图809注 意 在 最 后 一 个 单 选 钮 B o th C on ta ine r a nd S e rv e r 第 2 章 建 立 基 本 应 用 程 序 - 图810 的 下 方 有 两 个 复 选 框如 果 选 中 第 一 个 复 选 框 V is u a l C + + 还 将 增 加 使 你 的 应 用 程 序 用 做 A c tiv e X

第 2 章 建 立 基 本 应 用 程 序 - 图811第 2 章 建 立 基 本 应 用 程 序 - 图812第 2 章 建 立 基 本 应 用 程 序 - 图813第 2 章 建 立 基 本 应 用 程 序 - 图814第 2 章 建 立 基 本 应 用 程 序 - 图815第 2 章 建 立 基 本 应 用 程 序 - 图816第 2 章 建 立 基 本 应 用 程 序 - 图817第 2 章 建 立 基 本 应 用 程 序 - 图818D o cu m e n t S e rv er 第 2 章 建 立 基 本 应 用 程 序 - 图819 A c t iv e X 文 档 服 务 器 第 2 章 建 立 基 本 应 用 程 序 - 图820 所 需 的 支 持 A c tiv e D o cu m e n t S e rv er 能 够 创 建 和 管 理 A c tiv e X 文 档 第 二 个 复 选 框 是 A c tiv e D o c u m e n t C o n ta in e r 它允 许 你 的 应 用 程 序 在 其 框 架 内 包 含 A c tiv e X 文 档 本 质 上 说 它 允 许 你 在 应 用程 序 中 嵌 入 像 M ic ros oft W o rd 或 Ex c e l 这 样 的 应 用 程 序 生 成 的 文 档 现 在 我们 选 择 B o th C on ta in e r a nd S e rv e r 选 项 并 选 中 A c t iv e D o c u m e n t S e rv e r 复 选 框

第 2 章 建 立 基 本 应 用 程 序 - 图821在 第 11 章 中 我 们 将 探 讨 这 项 选 择 的 细 节

第 2 章 建 立 基 本 应 用 程 序 - 图822第 2 章 建 立 基 本 应 用 程 序 - 图823第 2 章 建 立 基 本 应 用 程 序 - 图824第 2 章 建 立 基 本 应 用 程 序 - 图825第 2 章 建 立 基 本 应 用 程 序 - 图826第 2 章 建 立 基 本 应 用 程 序 - 图827第 2 章 建 立 基 本 应 用 程 序 - 图828第 2 章 建 立 基 本 应 用 程 序 - 图829第 2 章 建 立 基 本 应 用 程 序 - 图830第 2 章 建 立 基 本 应 用 程 序 - 图831第 2 章 建 立 基 本 应 用 程 序 - 图832在 S te p 3 对 话 框 中 还 有 另 外 两 个 重 要 的 复 选 框 第 一 个 是 A u to m a t io n 对大 型 应 用 程 序 来 说 通 常 要 选 中 这 个 复 选 框 A u to m a tio n 允 许 你 操 作 其 它 应 用 程序 创 建 的 对 象 也 允 许 自 动 化 A u to m a tio n 第 2 章 建 立 基 本 应 用 程 序 - 图833 客 户 端 操 作 你 的 应 用 程 序 创 建 的对 象 从 现 在 开 始 也 可 以 把 自 动 化 看 成 是 一 种 可 编 程 能 力 虽 然 这 种 说 法 不甚 精 确 自 动 化 的 完 整 定 义 相 当 长 需 要 放 开 讲 才 能 说 清 楚 — — 在 本 书 的 后 续章 节 中 我 们 将 讨 论 这 个 问 题 第 2 章 建 立 基 本 应 用 程 序 - 图834

第 2 章 建 立 基 本 应 用 程 序 - 图835

第 2 章 建 立 基 本 应 用 程 序 - 图836第 2 章 建 立 基 本 应 用 程 序 - 图837第 2 章 建 立 基 本 应 用 程 序 - 图838第 2 章 建 立 基 本 应 用 程 序 - 图839第 2 章 建 立 基 本 应 用 程 序 - 图840第 2 章 建 立 基 本 应 用 程 序 - 图841第 2 章 建 立 基 本 应 用 程 序 - 图842第 二 个 选 项 是 A c tiv e X C o n tro l 如 果 在 应 用 程 序 中 要 使 用 任 何 OC X 控 件 无论 OC X 控 件 是 否 设 计 成 A c tiv e X 控 件 第 2 章 建 立 基 本 应 用 程 序 - 图843 那 么 都 必 须 选 中 这 个 复 选 框 确 实 选中 A c tiv e X C o n tro l 和 A u to m a t io n 复 选 框 然 后 单 击 N e x t 系 统 显 示 如 下 图 所示 的 S te p 4 对 话 框

第 2 章 建 立 基 本 应 用 程 序 - 图844第 2 章 建 立 基 本 应 用 程 序 - 图845第 2 章 建 立 基 本 应 用 程 序 - 图846第 2 章 建 立 基 本 应 用 程 序 - 图847第 2 章 建 立 基 本 应 用 程 序 - 图848第 2 章 建 立 基 本 应 用 程 序 - 图849该 对 话 框 的 上 半 部 分 用 于 选 择 应 用 程 序 中 要 包 含 的 界 面 元 素 的 类 型 正 常情 况 下 保 留 V is u a l C + + 的 缺 省 设 置 这 样 的 设 置 将 创 建 标 准 的 应 用 程 序 如果 想 为 用 户 提 供 上 下 文 相 关 帮 助 那 么 选 中 C o n te x t- S e n s itiv e H e lp 复 选 框 在

第 2 章 建 立 基 本 应 用 程 序 - 图850第 15 章 中 我 们 将 介 绍 向 应 用 程 序 中 添 加 上 下 文 相 关 帮 助 的 方 法

第 2 章 建 立 基 本 应 用 程 序 - 图851第 2 章 建 立 基 本 应 用 程 序 - 图852第 2 章 建 立 基 本 应 用 程 序 - 图853第 2 章 建 立 基 本 应 用 程 序 - 图854这 个 对 话 框 中 下 面 的 两 个 选 项 让 你 在 应 用 程 序 中 添 加 通 讯 支 持 功 能 第 一个 选 项 专 门 用 于 电 子 邮 件 选 中 这 个 选 项 后 应 用 程 序 可 以 发 送 和 接 收 电 子 邮 件只 要 电 子 邮 件 应 用 程 序 与 M A P I 兼 容 第 2 章 建 立 基 本 应 用 程 序 - 图855 第 二 个 选 项 让 应 用 程 序 通 过 TC P / IP

第 2 章 建 立 基 本 应 用 程 序 - 图856第 2 章 建 立 基 本 应 用 程 序 - 图857第 2 章 建 立 基 本 应 用 程 序 - 图858网 络 进 行 通 讯 如 果 要 在 你 的 应 用 程 序 中 添 加 In te rn e t 支 持 功 能 那 么 选 中 这 个复 选 框

第 2 章 建 立 基 本 应 用 程 序 - 图859第 2 章 建 立 基 本 应 用 程 序 - 图860第 2 章 建 立 基 本 应 用 程 序 - 图861第 2 章 建 立 基 本 应 用 程 序 - 图862第 2 章 建 立 基 本 应 用 程 序 - 图863第 2 章 建 立 基 本 应 用 程 序 - 图864第 2 章 建 立 基 本 应 用 程 序 - 图865第 2 章 建 立 基 本 应 用 程 序 - 图866第 2 章 建 立 基 本 应 用 程 序 - 图867V is u a l C + + 包 含 的 新 特 性 让 你 能 够 选 择 工 具 条 的 外 观 我 们 既 可 以 选 择 N o r - m a l 使 用 标 准 C+ + 工 具 条 的 外 观 也 可 以 选 择 In te rn e t E xp lore r 提 供 的 新 外 观使 用 In te rn e t E x p lo re r R e B a rs 选 项 有 两 个 好 处 我 们 既 可 以 在 工 具 条 上 添 加 任 何W ind ow s 控 件 并 不 仅 限 于 菜 单 命 令 第 2 章 建 立 基 本 应 用 程 序 - 图868 也 可 以 像 命 令 条 那 样 漂 浮 R e B a rs

第 2 章 建 立 基 本 应 用 程 序 - 图869第 2 章 建 立 基 本 应 用 程 序 - 图870第 2 章 建 立 基 本 应 用 程 序 - 图871第 2 章 建 立 基 本 应 用 程 序 - 图872第 2 章 建 立 基 本 应 用 程 序 - 图873第 2 章 建 立 基 本 应 用 程 序 - 图874第 2 章 建 立 基 本 应 用 程 序 - 图875剩 下 的 两 个 选 项 是 最 近 使 用 文 件 列 表 中 列 出 的 文 件 个 数 和 一 个 标 题 为 A d - va nc e d 的 神 秘 按 钮 正 常 情 况 下 我 把 最 近 使 用 文 件 列 表 中 列 出 的 文 件 个 数 设置 为 尽 可 能 大 的 值 原 因 在 于 我 经 常 要 操 作 许 多 文 档 在 这 里 给 用 户 提 供 最 大的 灵 活 性 并 不 影 响 应 用 程 序 的 大 小 和 速 度 因 此 将 其 设 置 为 尽 可 能 大 的 值 并不 是 什 么 大 是 大 非 的 问 题

第 2 章 建 立 基 本 应 用 程 序 - 图876第 2 章 建 立 基 本 应 用 程 序 - 图877第 2 章 建 立 基 本 应 用 程 序 - 图878第 2 章 建 立 基 本 应 用 程 序 - 图879第 2 章 建 立 基 本 应 用 程 序 - 图880第 2 章 建 立 基 本 应 用 程 序 - 图881现 在 让 我 们 看 一 看 A dva nc e d 按 钮 单 击 这 个 按 钮 系 统 显 示 如 下 图 所 示 的A dva nc e d O p tions 对 话 框 这 个 对 话 框 是 设 置 文 档 参 数 的 地 方 也 是 选 择 用 户使 用 时 显 示 在 标 题 条 中 文 本 这 类 设 置 的 地 方 在 标 题 条 中 也 将 显 示 当 前 文 档 的名 称

第 2 章 建 立 基 本 应 用 程 序 - 图882

第 2 章 建 立 基 本 应 用 程 序 - 图883第 2 章 建 立 基 本 应 用 程 序 - 图884第 2 章 建 立 基 本 应 用 程 序 - 图885第 2 章 建 立 基 本 应 用 程 序 - 图886第 2 章 建 立 基 本 应 用 程 序 - 图887第 2 章 建 立 基 本 应 用 程 序 - 图888第 2 章 建 立 基 本 应 用 程 序 - 图889第 2 章 建 立 基 本 应 用 程 序 - 图890第 2 章 建 立 基 本 应 用 程 序 - 图891第 2 章 建 立 基 本 应 用 程 序 - 图892第 2 章 建 立 基 本 应 用 程 序 - 图893第 2 章 建 立 基 本 应 用 程 序 - 图894第 2 章 建 立 基 本 应 用 程 序 - 图895第 2 章 建 立 基 本 应 用 程 序 - 图896第 2 章 建 立 基 本 应 用 程 序 - 图897第 2 章 建 立 基 本 应 用 程 序 - 图898第 2 章 建 立 基 本 应 用 程 序 - 图899按 上 图 所 示 设 置 A dva nc e d O p tions 对 话 框 完 成 后 的 应 用 程 序 使 用 扩 展 名为 XYZ 的 文 件 应 用 程 序 的 标 题 为 S ing le D o c u m e nt E x a m p le 每 次 显 示 F ile O p e n 或 F ile Sa v e 对 话 框 时 过 滤 器 域 显 示 为 XYZ S in g le D o c u m e n t F ile (* .x y z ) 最 后 当 显 示 该 应 用 程 序 创 建 的 文 档 的 属 性 对 话 框 时 对 话 框 将显 示 该 文 档 的 类 型 为 XYZ S in g le D o c u m e n t 单 击 C lo s e 按 钮 接 受 上 述 设 置单 击 两 次 N e x t 系 统 显 示 如 下 图 所 示 的 S te p 6 对 话 框

第 2 章 建 立 基 本 应 用 程 序 - 图900

第 2 章 建 立 基 本 应 用 程 序 - 图901第 2 章 建 立 基 本 应 用 程 序 - 图902第 2 章 建 立 基 本 应 用 程 序 - 图903第 2 章 建 立 基 本 应 用 程 序 - 图904第 2 章 建 立 基 本 应 用 程 序 - 图905第 2 章 建 立 基 本 应 用 程 序 - 图906第 2 章 建 立 基 本 应 用 程 序 - 图907第 2 章 建 立 基 本 应 用 程 序 - 图908第 2 章 建 立 基 本 应 用 程 序 - 图909第 2 章 建 立 基 本 应 用 程 序 - 图910第 2 章 建 立 基 本 应 用 程 序 - 图911第 2 章 建 立 基 本 应 用 程 序 - 图912这 是 我 要 向 你 介 绍 技 巧 的 另 一 个 地 方 如 果 你 没 有 真 正 留 意 的 话 就 有 可能 遗 漏 在 文 档 视 图 类 中 可 以 使 用 你 喜 爱 的 任 何 基 类 这 一 事 实 为 什 么 说 要 重 点考 虑 基 类 的 选 择 呢 如 果 接 受 了 V is u a l C + + 的 缺 省 设 置 那 么 应 用 程 序 对 文 档的 任 何 操 作 你 都 必 须 编 写 代 码 当 你 要 创 建 一 种 全 新 的 文 档 时 上 述 设 置 并 没有 任 何 不 妥 但 绝 大 多 数 应 用 程 序 并 非 要 创 建 一 种 全 新 的 文 档 而 是 建 立 一 个与 其 它 应 用 程 序 相 似 并 提 供 其 它 应 用 程 序 所 缺 乏 特 性 的 应 用 程 序 本 例 中

第 2 章 建 立 基 本 应 用 程 序 - 图913第 2 章 建 立 基 本 应 用 程 序 - 图914我 们 要 创 建 一 个 文 本 编 辑 器 因 此 没 有 必 要 使 用 CV ie w 应 用 程 序 的 缺 省 基 类 第 2 章 建 立 基 本 应 用 程 序 - 图915

第 2 章 建 立 基 本 应 用 程 序 - 图916第 2 章 建 立 基 本 应 用 程 序 - 图917第 2 章 建 立 基 本 应 用 程 序 - 图918选 择 C E d itV ie w 或 C R ic h E d itV ie w 类 作 为 应 用 程 序 的 基 类 将 省 去 许 多 工 作 原因 在 于 该 应 用 程 序 一 经 设 计 就 已 经 知 道 作 为 简 单 的 字 处 理 程 序 应 该 如 何 完 成 任务 你 甚 至 不 需 要 添 加 任 何 代 码 就 能 得 到 上 述 功 能

第 2 章 建 立 基 本 应 用 程 序 - 图919第 2 章 建 立 基 本 应 用 程 序 - 图920第 2 章 建 立 基 本 应 用 程 序 - 图921第 2 章 建 立 基 本 应 用 程 序 - 图922第 2 章 建 立 基 本 应 用 程 序 - 图923第 2 章 建 立 基 本 应 用 程 序 - 图924为 了 展 示 基 类 的 作 用 在 示 例 程 序 中 我 们 选 择 C R ic h E d itV ie w 作 为C S ng1_D oc V ie w 类 的 基 类 单 击 F in is h 按 钮 完 成 设 置 当 看 到 N e w P ro je c t In fo rm a tio n 对 话 框 时 单 击 OK V is u a l C + + 为 你 创 建 该 示 例 应 用 程 序

第 2 章 建 立 基 本 应 用 程 序 - 图925第 2 章 建 立 基 本 应 用 程 序 - 图926第 2 章 建 立 基 本 应 用 程 序 - 图927第 2 章 建 立 基 本 应 用 程 序 - 图928第 2 章 建 立 基 本 应 用 程 序 - 图929第 2 章 建 立 基 本 应 用 程 序 - 图930第 2 章 建 立 基 本 应 用 程 序 - 图931第 2 章 建 立 基 本 应 用 程 序 - 图932第 2 章 建 立 基 本 应 用 程 序 - 图933第 2 章 建 立 基 本 应 用 程 序 - 图934第 2 章 建 立 基 本 应 用 程 序 - 图935现 在 生 成 应 用 程 序 并 启 动 运 行 你 会 看 到 可 以 在 应 用 程 序 中 输 入 文 本 并 将其 保 存 到 XYZ 文 档 中 添 加 一 些 代 码 后 该 应 用 程 序 就 可 以 读 取 其 它 文 本 和 RT F 文 档 当 然 也 可 以 以 其 它 方 式 扩 展 这 个 应 用 程 序 例 如 由 于 该 应 用 程 序 使用 了 富 文 本 编 辑 控 件 因 此 可 以 为 其 增 加 文 本 格 式 化 功 能 和 颜 色 功 能 我 们 已经 添 加 的 OL E 能 力 意 味 着 需 要 时 可 以 在 文 档 中 插 入 图 像 已 经 完 成 的 应 用 程 序只 做 了 很 少 的 工 作 就 具 备 了 许 多 潜 在 的 功 能

第 2 章 建 立 基 本 应 用 程 序 - 图936第 2 章 建 立 基 本 应 用 程 序 - 图937第 2 章 建 立 基 本 应 用 程 序 - 图938第 2 章 建 立 基 本 应 用 程 序 - 图939第 2 章 建 立 基 本 应 用 程 序 - 图940第 2 章 建 立 基 本 应 用 程 序 - 图941第 2 章 建 立 基 本 应 用 程 序 - 图942或 许 现 在 你 还 没 有 注 意 到 这 个 特 殊 的 示 例 程 序 并 没 有 要 你 编 写 一 行 代 码最 终 的 程 序 相 当 完 美 是 C 程 序 员 不 敢 想 像 的 图 2 .4 展 示 了 到 现 在 为 止 这 个应 用 程 序 的 显 示 结 果 随 着 本 书 的 展 开 我 们 将 进 一 步 改 进 这 个 应 用 程 序

第 2 章 建 立 基 本 应 用 程 序 - 图943

第 2 章 建 立 基 本 应 用 程 序 - 图944图 2 .4 考虑 到我 们并 没有给 这个 示例 应用程 序添 加任何 代码 应 该说它 运行 的够 完美了

  1. 5 编 写 基 于 HT ML 文 档 的 应 用 程 序

第 2 章 建 立 基 本 应 用 程 序 - 图945第 2 章 建 立 基 本 应 用 程 序 - 图946第 2 章 建 立 基 本 应 用 程 序 - 图947第 2 章 建 立 基 本 应 用 程 序 - 图948第 2 章 建 立 基 本 应 用 程 序 - 图949第 2 章 建 立 基 本 应 用 程 序 - 图950第 2 章 建 立 基 本 应 用 程 序 - 图951第 2 章 建 立 基 本 应 用 程 序 - 图952第 2 章 建 立 基 本 应 用 程 序 - 图953第 2 章 建 立 基 本 应 用 程 序 - 图954毫 无 疑 问 In te rn e t 已 经 成 为 许 多 公 司 降 低 成 本 提 高 效 率 计 划 的 一 部 分 另 外 In te rn e t 也 是 销 售 产 品 查 询 信 息 的 新 方 法 并 能 完 成 许 多 几 年 前 人 们 还认 为 不 能 完 成 的 许 多 商 务 方 面 的 其 它 任 务 这 就 是 本 例 极 为 重 要 的 原 因 该 示例 展 示 了 把 In te rn e t 能 力 置 入 应 用 程 序 的 方 法 它 把 两 种 不 同 的 媒 体 融 合 成 了 一个 和 谐 的 整 体

第 2 章 建 立 基 本 应 用 程 序 - 图955第 2 章 建 立 基 本 应 用 程 序 - 图956第 2 章 建 立 基 本 应 用 程 序 - 图957第 2 章 建 立 基 本 应 用 程 序 - 图958第 2 章 建 立 基 本 应 用 程 序 - 图959第 2 章 建 立 基 本 应 用 程 序 - 图960本 节 展 示 如 何 创 建 基 于 HT M L 文 档 的 程 序 框 架 虽 然 用 向 导 生 成 的 框 架 功能 还 有 限 但 它 既 能 显 示 In te rn e t 上 的 HT M L 文 档 也 能 显 示 不 在 In te rn e t 上 的HT M L 文 档 当 我 们 拥 有 了 可 以 使 用 的 基 本 框 架 后 就 可 以 考 虑 添 加 一 些 绝 大多 数 应 用 程 序 都 需 要 的 某 些 增 强 功 能 了

创 建 基 本 程 序 框 架

第 2 章 建 立 基 本 应 用 程 序 - 图961第 2 章 建 立 基 本 应 用 程 序 - 图962对 本 例 来 说 我 们 将 使 用 本 章 前 面 介 绍 过 的 单 文 档 应 用 程 序 的 一 种 变 体

第 2 章 建 立 基 本 应 用 程 序 - 图963第 2 章 建 立 基 本 应 用 程 序 - 图964第 2 章 建 立 基 本 应 用 程 序 - 图965第 2 章 建 立 基 本 应 用 程 序 - 图966第 2 章 建 立 基 本 应 用 程 序 - 图967第 2 章 建 立 基 本 应 用 程 序 - 图968第 2 章 建 立 基 本 应 用 程 序 - 图969作 为 本 工 程 的 开 始 使 用 F ile | N e w 命 令 显 示 N e w 对 话 框 选 择 M F C A pp- W iz a rd (E X E ) 工 程 类 型 在 P ro ject N a m e 域 中 键 入 名 称 示 例 应 用 程 序 使 用 的 应用 程 序 名 为 S g1_H T M L 但 你 可 以 选 择 自 己 喜 爱 的 任 何 名 称 单 击 OK 按 钮

第 2 章 建 立 基 本 应 用 程 序 - 图970第 2 章 建 立 基 本 应 用 程 序 - 图971第 2 章 建 立 基 本 应 用 程 序 - 图972第 2 章 建 立 基 本 应 用 程 序 - 图973系 统 显 示 M F C A ppW iz a rd - S te p 1 对 话 框 选 择 S ing le D o c u m e nt 选 项 然 后 单击 N e x t 按 钮 两 次 你 会 看 到 M F C A ppW iz a rd - S te p 3 对 话 框

第 2 章 建 立 基 本 应 用 程 序 - 图974第 2 章 建 立 基 本 应 用 程 序 - 图975正 常 情 况 下 你 会 希 望 你 的 应 用 程 序 既 用 做 OL E 服 务 器 又 用 做 OL E 容 器

第 2 章 建 立 基 本 应 用 程 序 - 图976第 2 章 建 立 基 本 应 用 程 序 - 图977第 2 章 建 立 基 本 应 用 程 序 - 图978第 2 章 建 立 基 本 应 用 程 序 - 图979第 2 章 建 立 基 本 应 用 程 序 - 图980第 2 章 建 立 基 本 应 用 程 序 - 图981第 2 章 建 立 基 本 应 用 程 序 - 图982第 2 章 建 立 基 本 应 用 程 序 - 图983第 2 章 建 立 基 本 应 用 程 序 - 图984第 2 章 建 立 基 本 应 用 程 序 - 图985第 2 章 建 立 基 本 应 用 程 序 - 图986但 针 对 当 前 这 种 应 用 程 序 来 说 绝 大 多 数 用 户 并 不 需 要 OL E 服 务 器 特 性 原 因在 于 只 是 使 用 这 样 的 应 用 程 序 显 示 W e b 页 面 而 无 须 建 立 新 的 数 据 正 是 出 于这 样 的 考 虑 我 们 选 择 C on ta ine r 选 项 并 选 中 A c tiv e D o cu m e n t C o n tain e r 复 选 框回 忆 一 下 A c tiv e D o cu m e n t C o n tain e r 复 选 框 的 功 能 就 会 知 道 它 允 许 你 显 示 像M ic ros oft W o rd 这 样 的 应 用 程 序 生 成 的 A c tiv e X 文 档 再 选 中 A u to m a tio n 和 A c - tiv e X C o n tro ls 复 选 框 单 击 N e x t 系 统 显 示 M F C A ppW iz a rd - S te p 4 对 话 框

第 2 章 建 立 基 本 应 用 程 序 - 图987第 2 章 建 立 基 本 应 用 程 序 - 图988第 2 章 建 立 基 本 应 用 程 序 - 图989第 2 章 建 立 基 本 应 用 程 序 - 图990第 2 章 建 立 基 本 应 用 程 序 - 图991第 2 章 建 立 基 本 应 用 程 序 - 图992第 2 章 建 立 基 本 应 用 程 序 - 图993第 2 章 建 立 基 本 应 用 程 序 - 图994第 2 章 建 立 基 本 应 用 程 序 - 图995第 2 章 建 立 基 本 应 用 程 序 - 图996第 2 章 建 立 基 本 应 用 程 序 - 图997第 2 章 建 立 基 本 应 用 程 序 - 图998在 这 个 对 话 框 中 你 至 少 要 看 一 看 其 中 的 几 个 选 项 第 一 个 选 项 是 W ind ow s S o ck ets 当 应 用 程 序 要 访 问 In te rn e t 或 内 联 网 时 应 用 程 序 需 要 W ind ow s S o c k e t 支 持 如 果 应 用 程 序 还 要 支 持 电 子 邮 件 那 么 也 要 选 中 M A P I 选 项 最 后 由于 你 的 应 用 程 序 或 许 还 需 要 相 当 复 杂 的 工 具 条 来 向 用 户 提 供 全 功 能 的 导 航 能力 那 么 也 要 选 中 In te rn e t E x p lo re r R e B a rs 选 项 我 还 把 最 近 使 用 文 件 列 表 的 文件 数 设 置 成 了 16 单 击 N e x t 两 次 系 统 显 示 M F C A ppW iz a rd - S te p 6 对 话 框

第 2 章 建 立 基 本 应 用 程 序 - 图999第 2 章 建 立 基 本 应 用 程 序 - 图1000第 2 章 建 立 基 本 应 用 程 序 - 图1001第 2 章 建 立 基 本 应 用 程 序 - 图1002第 2 章 建 立 基 本 应 用 程 序 - 图1003第 2 章 建 立 基 本 应 用 程 序 - 图1004第 2 章 建 立 基 本 应 用 程 序 - 图1005第 2 章 建 立 基 本 应 用 程 序 - 图1006第 2 章 建 立 基 本 应 用 程 序 - 图1007这 个 对 话 框 中 唯 一 需 要 修 改 的 选 项 是 B a s e C la s s 必 须 把 这 个 选 项 设 置 为C H tm lV ie w 以 便 应 用 程 序 得 到 我 们 所 期 待 的 In te rn e t 功 能 现 在 我 们 已 经 配 置好 了 这 个 示 例 程 序 单 击 F in is h 按 钮 系 统 显 示 N e w P ro je c t In fo rm a tio n 对 话 框然 后 单 击 OK 生 成 框 架 应 用 此 时 编 译 和 运 行 应 用 程 序 时 你 会 看 到 如 下 图 所示 的 屏 幕 显 示

第 2 章 建 立 基 本 应 用 程 序 - 图1008

增 强 示 例 程 序 功 能

第 2 章 建 立 基 本 应 用 程 序 - 图1009第 2 章 建 立 基 本 应 用 程 序 - 图1010第 2 章 建 立 基 本 应 用 程 序 - 图1011第 2 章 建 立 基 本 应 用 程 序 - 图1012第 2 章 建 立 基 本 应 用 程 序 - 图1013第 2 章 建 立 基 本 应 用 程 序 - 图1014第 2 章 建 立 基 本 应 用 程 序 - 图1015第 2 章 建 立 基 本 应 用 程 序 - 图1016第 2 章 建 立 基 本 应 用 程 序 - 图1017第 2 章 建 立 基 本 应 用 程 序 - 图1018第 2 章 建 立 基 本 应 用 程 序 - 图1019第 2 章 建 立 基 本 应 用 程 序 - 图1020第 2 章 建 立 基 本 应 用 程 序 - 图1021如 果 你 只 是 打 算 显 示 你 的 W e b 站 点 的 主 页 那 么 使 用 上 一 节 创 建 的 应 用 程序 框 架 就 能 完 成 这 个 任 务 然 而 在 绝 大 多 数 情 况 下 还 需 要 给 应 用 程 序 添 加一 些 基 本 的 导 航 能 力 只 有 单 一 的 链 接 或 许 并 不 能 让 用 户 满 意 因 此 该 应 用程 序 至 少 要 增 加 的 功 能 是 向 前 与 向 后 按 钮 现 在 就 让 我 们 看 看 增 加 这两 个 按 钮 的 方 法 吧

第 2 章 建 立 基 本 应 用 程 序 - 图1022

第 2 章 建 立 基 本 应 用 程 序 - 图1023第 2 章 建 立 基 本 应 用 程 序 - 图1024第 2 章 建 立 基 本 应 用 程 序 - 图1025第 2 章 建 立 基 本 应 用 程 序 - 图1026第 2 章 建 立 基 本 应 用 程 序 - 图1027第 2 章 建 立 基 本 应 用 程 序 - 图1028首 先 需 要 完 成 的 任 务 是 打 开 ID R _ M A IN F R A M E 对 话 框 没 错 In te rn e t E x - p lore r R e B a r 实 际 上 是 个 对 话 框 而 不 是 标 准 的 工 具 条 该 对 话 框 的 类 是C D ia logB a r 而 不 是 过 去 我 们 常 用 的 标 准 C D ia lo g 类 与 其 它 任 何 对 话 框 相 同

第 2 章 建 立 基 本 应 用 程 序 - 图1029第 2 章 建 立 基 本 应 用 程 序 - 图1030第 2 章 建 立 基 本 应 用 程 序 - 图1031第 2 章 建 立 基 本 应 用 程 序 - 图1032第 2 章 建 立 基 本 应 用 程 序 - 图1033第 2 章 建 立 基 本 应 用 程 序 - 图1034你 可 以 向 这 个 对 话 框 上 添 加 标 准 的 W ind ow s 控 件 我 们 在 这 个 对 话 框 上 添 加 了两 个 按 钮 如 下 图 所 示 请 注 意 这 两 个 按 钮 的 标 题 为 Fo rw a rd 和 B ack w a rd 其 ID 分 别 为 ID C_ F O RW A R D 和 ID C_ BA C K W A RD

第 2 章 建 立 基 本 应 用 程 序 - 图1035第 2 章 建 立 基 本 应 用 程 序 - 图1036第 2 章 建 立 基 本 应 用 程 序 - 图1037第 2 章 建 立 基 本 应 用 程 序 - 图1038第 2 章 建 立 基 本 应 用 程 序 - 图1039第 2 章 建 立 基 本 应 用 程 序 - 图1040第 2 章 建 立 基 本 应 用 程 序 - 图1041第 2 章 建 立 基 本 应 用 程 序 - 图1042第 2 章 建 立 基 本 应 用 程 序 - 图1043第 2 章 建 立 基 本 应 用 程 序 - 图1044现 在 我 们 在 R e B a r 对 话 框 上 放 置 了 两 个 按 钮 但 还 没 有 定 义 单 击 它 们 时 做些 什 么 事 实 际 上 如 果 现 在 就 编 译 和 运 行 这 个 应 用 程 序 你 会 看 到 这 两 个 按钮 以 灰 色 显 示 并 且 什 么 事 也 做 不 了 其 原 因 在 于 我 们 告 诉 了 V is u a l C + + 在哪 里 绘 制 这 两 个 按 钮 但 并 没 有 告 诉 V is u a l C + + 用 它 们 来 干 什 么 让 这 两 个 按钮 发 挥 作 用 需 要 下 述 三 个 步 骤

  1. 第 2 章 建 立 基 本 应 用 程 序 - 图1045定 义

    按 钮 与 消 息 处 理 程 序 之 间 的 连 接

  2. 第 2 章 建 立 基 本 应 用 程 序 - 图1046声 明

    消 息 处 理 程 序 函 数

  3. 第 2 章 建 立 基 本 应 用 程 序 - 图1047编 写

    消 息 处 理 程 序 代 码

第 2 章 建 立 基 本 应 用 程 序 - 图1048第 2 章 建 立 基 本 应 用 程 序 - 图1049第 2 章 建 立 基 本 应 用 程 序 - 图1050第 2 章 建 立 基 本 应 用 程 序 - 图1051第 2 章 建 立 基 本 应 用 程 序 - 图1052第 2 章 建 立 基 本 应 用 程 序 - 图1053让 我 们 先 完 成 第 一 步 定 义 按 钮 与 消 息 处 理 程 序 之 间 的 连 接 由 于 我 们 希望 这 两 个 按 钮 影 响 HT M L 页 面 的 内 容 我 们 需 要 在 C S g l_H T M L V ie w 类 中 使 用ON _ C O M M AN D 宏 建 立 连 接 程 序 列 表 2 .5 以 粗 体 形 式 显 示 了 需 要 添 加 到C S g l_H T M L V ie w .C P P 文 件 中 M E SSA G E _ M A P 节 的 代 码 请 注 意

第 2 章 建 立 基 本 应 用 程 序 - 图1054ON _ C O M M AN D 宏 提 供 了 这 两 个 按 钮 标 识 为 ID C_ F O RW A R D 和

第 2 章 建 立 基 本 应 用 程 序 - 图1055ID C_ BA CK W A RD 第 2 章 建 立 基 本 应 用 程 序 - 图1056 与 其 对 应 的 消 息 处 理 函 数 之 间 的 连 接

程 序 列 表 2 . 5

B E G IN _ M E S S AGE _ M AP ( C S g l_ HT M L V ie w ,C H tm l V ie w )

/ /{ { A FX _ M SG _ M A P ( C Sg l_ H T M L V ie w )

// N O T E - th e C la s s W iz a rd w ill a d d a n d re m o v e m a p p in g m a c ro s h e re .

/ / D O N O T E D IT w h a t y ou s e e in th e s e b loc k s of g e ne ra te d c o d e !

ON _ W M _ D E S T R OY () O N _ W M _ S E T FO C U S () ON _ W M _ S IZ E ( )

ON _ C O M M AND ( ID _ O L E _ IN S E R T _ N E W ,O n In se r t O b je c t)

ON _ C O M M AND ( ID _ C ANC E L _ E D IT _ C NT R ,O n C a n c e l E d i t C n tr )

/ / } } A F X_ M S G _ M A P

/ / S ta nda rd prin t ing c o m m a n ds

O N _ C O M M A N D ( ID _ F IL E _ P R IN T , C H tm lV ie w ::O n F ile P r in t)

O N _ C O M M A N D ( ID _ F IL E _ P R IN T _ D IR E C T C H tm lV ie w ::O n F ile P r in t)

O N _ C O M M A N D ( ID _ F IL E _ P R IN T _ P R E V IE W ,C H tm lV ie w ::O n F ile P rin tP re v ie w )

/ / A dd tw o m a c r o s f o r o u r bu tto ns

O N _ C O M M AND ( I DC _ F O RW A RD, CS g l_ H T M L V ie w : : O n F o r w a r d )

O N _ C O M M AND ( I DC _ B A C K W ARD , CS g l_ H T M L V ie w : : O n B a c k w a r d )

E ND _ M E S S A GE _ M AP ( )

第 2 章 建 立 基 本 应 用 程 序 - 图1057当 我 们 定 义 了 这 两 个 按 钮 与 其 对 应 的 消 息 处 理 程 序 之 间 的 连 接 后 需 要 在

第 2 章 建 立 基 本 应 用 程 序 - 图1058第 2 章 建 立 基 本 应 用 程 序 - 图1059第 2 章 建 立 基 本 应 用 程 序 - 图1060第 2 章 建 立 基 本 应 用 程 序 - 图1061第 2 章 建 立 基 本 应 用 程 序 - 图1062第 2 章 建 立 基 本 应 用 程 序 - 图1063C S g l_H T M L V ie w .H 文 件 中 声 明 相 应 的 函 数 程 序 列 表 2 .6 显 示 了 声 明 这 些 函 数

的 方

需 要 保 证 的 一

点 是

函 数 要 声 明 成 希

望 创 建

处 理 程 序

这 个

声 明

中 有

几 点 需 要 注 意

首 先

把 函 数 声 明 成

pub lic

第 2 章 建 立 基 本 应 用 程 序 - 图1064

这 样 在 该 类

外 部

也 可

以 访

问 这 些 函 数

其 次

把 函 数 声 明 成 虚

函 数 类

第 2 章 建 立 基 本 应 用 程 序 - 图1065

便 在 必 要 时

载 它

第 2 章 建 立 基 本 应 用 程 序 - 图1066第 2 章 建 立 基 本 应 用 程 序 - 图1067第 2 章 建 立 基 本 应 用 程 序 - 图1068程 序 列 表 2 . 6

/ / M e s s ag e H a n d le rs pub l ic :

/ / A dd s o m e m ove m e nt h a n d le rs .

v ir tu a l

vo id

O n F o rw a rd();

v ir tu a l

vo id

O n B a c k w a rd ( ) ;

第 2 章 建 立 基 本 应 用 程 序 - 图1069第 2 章 建 立 基 本 应 用 程 序 - 图1070第 2 章 建 立 基 本 应 用 程 序 - 图1071第 2 章 建 立 基 本 应 用 程 序 - 图1072这 两 个 消 息 处 理 函 数 相 当 简 单 程 序 列 表 2 .7 显 示 了 需 要 添 加 到C S g l_H T M L V ie w .C P P 文 件 尾 部 的 程 序 代 码 在 消 息 处 理 程 序 节 第 2 章 建 立 基 本 应 用 程 序 - 图1073 这 两 个 消息 处 理 程 序 所 做 的 事 情 就 是 直 接 调 用 C H tm lV ie w 类 的 成 员 函 数 G o F o rw a rd ( ) 和G o B ack ( )

程 序 列 表 2 . 7

///////////////////////////////////////////////////////////////////////////////////////////////////////

// C S g l_ H T M L V ie w m e s s a g e h a n d le rs vo id C S g l_H T M L V ie w : : O nF orw a rd ( )

{

G o F o rw a rd ( ) ;

}

vo id C S g l_H T M L V ie w : : O nB a c k w a rd ( )

{

G o B a c k ( ) ;

}

第 2 章 建 立 基 本 应 用 程 序 - 图1074第 2 章 建 立 基 本 应 用 程 序 - 图1075第 2 章 建 立 基 本 应 用 程 序 - 图1076第 2 章 建 立 基 本 应 用 程 序 - 图1077第 2 章 建 立 基 本 应 用 程 序 - 图1078第 2 章 建 立 基 本 应 用 程 序 - 图1079第 2 章 建 立 基 本 应 用 程 序 - 图1080如 果 现 在 编 译 和 运 行 这 个 应 用 程 序 就 会 发 现 R e B a r 上 已 经 添 加 了 两 个 按钮 单 击 B ack w a rd 移 动 到 最 近 浏 览 过 的 前 一 个 W e b 页 面 单 击 Fo rw a rd 按 钮就 会 看 到 刚 刚 退 出 的 那 个 页 面 这 两 个 按 钮 的 工 作 方 式 与 它 们 在 W e b 浏 览 器 中的 工 作 方 式 相 同 当 然 这 还 仅 仅 是 个 开 始 你 可 以 在 该 对 话 框 工 具 条 上 添 加

第 2 章 建 立 基 本 应 用 程 序 - 图1081任 意 个 数 的 定 制 按 钮 或 其 它 控 件