第 10 章 创 建 A c tiv e X 控 件

第 10 章 创 建 A c tiv e X 控 件 - 图1第 10 章 创 建 A c tiv e X 控 件 - 图2第 10 章 创 建 A c tiv e X 控 件 - 图3第 10 章 创 建 A c tiv e X 控 件 - 图4第 10 章 创 建 A c tiv e X 控 件 - 图5第 10 章 创 建 A c tiv e X 控 件 - 图6第 10 章 创 建 A c tiv e X 控 件 - 图7第 10 章 创 建 A c tiv e X 控 件 - 图8第 10 章 创 建 A c tiv e X 控 件 - 图9某 些 人 不 愿 意 学 习 新 东 西 特 别 是 学 习 看 起 来 很 难 很 复 杂 时 更 是 这 样 对许 多 人 说 来 OC X 就 是 这 一 类 的 和 在 DO S 环 境 下 写 设 备 驱 动 程 序 一 样 写OL E 控 件 也 属 于 这 一 类 现 在 M ic ros oft 出 于 某 种 考 虑 已 把 OC X 的 新 版 本 的名 称 改 为 A c tiv e X 许 多 人 会 为 不 想 试 一 试 这 种 技 术 而 找 到 更 多 的 借 口

第 10 章 创 建 A c tiv e X 控 件 - 图10第 10 章 创 建 A c tiv e X 控 件 - 图11注 ActiveX 控 件 使 用 了 O C X 扩 展 名 就 象 他 们 设 计 用 来 代 替 的 O L E 控 件 一样

第 10 章 创 建 A c tiv e X 控 件 - 图12第 10 章 创 建 A c tiv e X 控 件 - 图13第 10 章 创 建 A c tiv e X 控 件 - 图14第 10 章 创 建 A c tiv e X 控 件 - 图15第 10 章 创 建 A c tiv e X 控 件 - 图16第 10 章 创 建 A c tiv e X 控 件 - 图17第 10 章 创 建 A c tiv e X 控 件 - 图18因 为 你 已 经 在 阅 读 这 一 章 了 所 以 我 不 能 不 假 定 你 至 少 已 对 A c tiv e X 控 件背 后 的 技 术 产 生 了 较 浓 的 兴 趣 在 本 章 中 我 们 不 会 做 出 任 何 迷 惑 你 们 这 些 小 伙伴 的 事 事 实 上 我 创 建 的 两 个 程 序 设 计 例 子 第 10 章 创 建 A c tiv e X 控 件 - 图19 非 常 有 用 第 10 章 创 建 A c tiv e X 控 件 - 图20 都 非 常 普 通 我 们来 看 看 如 何 创 建 一 个 新 型 按 钮 on /off 开 关

第 10 章 创 建 A c tiv e X 控 件 - 图21第 10 章 创 建 A c tiv e X 控 件 - 图22第 10 章 创 建 A c tiv e X 控 件 - 图23第 10 章 创 建 A c tiv e X 控 件 - 图24第 10 章 创 建 A c tiv e X 控 件 - 图25第 10 章 创 建 A c tiv e X 控 件 - 图26第 10 章 创 建 A c tiv e X 控 件 - 图27第 10 章 创 建 A c tiv e X 控 件 - 图28第 10 章 创 建 A c tiv e X 控 件 - 图29第 10 章 创 建 A c tiv e X 控 件 - 图30选 择 这 个 例 子 的 理 由 很 容 易 理 解 大 多 数 人 发 现 与 一 些 熟 悉 的 事 物 打 交道 可 以 缓 解 学 习 新 东 西 的 压 力 另 外 这 个 特 定 的 编 码 例 子 实 现 起 来 极 简 单只 需 用 少 量 时 间 就 能 弄 明 白 它 是 如 何 工 作 的

注 释 本 章 中 的 例 子 是 用 Microsoft Visual C++6.0 开 发 的 使 用 Microsoft Visual C++ 5.x 版 或 4.x 版 都 不 会 有 太 多 麻 烦 用 Borland C+ +或 比Microsoft C++4.x 还 老 的 版 本 编 译 写 出 的 代 码 不 经 修 改 是 不 能 工

第 10 章 创 建 A c tiv e X 控 件 - 图31第 10 章 创 建 A c tiv e X 控 件 - 图32第 10 章 创 建 A c tiv e X 控 件 - 图33第 10 章 创 建 A c tiv e X 控 件 - 图34第 10 章 创 建 A c tiv e X 控 件 - 图35作 的 创 建 能 在 每 个 产 品 下 都 能 工 作 的 万 能 例 子 已 经 证 明 是 行 不 通的 无 论 你 决 定 使 用 哪 一 种 程 序 设 计 语 言 产 品 本 章 的 例 子 都 向 你 提供 了 关 于 开 发 O C X 的 有 价 值 的 提 示 或 技 巧 点 拨

第 10 章 创 建 A c tiv e X 控 件 - 图36第 10 章 创 建 A c tiv e X 控 件 - 图37第 10 章 创 建 A c tiv e X 控 件 - 图38第 10 章 创 建 A c tiv e X 控 件 - 图39第 10 章 创 建 A c tiv e X 控 件 - 图40第 10 章 创 建 A c tiv e X 控 件 - 图41第 10 章 创 建 A c tiv e X 控 件 - 图42第 10 章 创 建 A c tiv e X 控 件 - 图43第 10 章 创 建 A c tiv e X 控 件 - 图44第 10 章 创 建 A c tiv e X 控 件 - 图45第 10 章 创 建 A c tiv e X 控 件 - 图46第 10 章 创 建 A c tiv e X 控 件 - 图47第 10 章 创 建 A c tiv e X 控 件 - 图48第 10 章 创 建 A c tiv e X 控 件 - 图49第 10 章 创 建 A c tiv e X 控 件 - 图50第 10 章 创 建 A c tiv e X 控 件 - 图51第 10 章 创 建 A c tiv e X 控 件 - 图52第 10 章 创 建 A c tiv e X 控 件 - 图53— 旦 写 出 了 例 子 的 第 一 个 版 本 应 该 学 几 种 方 法 去 测 试 这 个 新 的 A c tiv e X 控件 看 其 是 否 完 全 安 全 第 10 章 创 建 A c tiv e X 控 件 - 图54 安 全 一 词 在 这 里 意 味 着 在 一 个 产 品 环 境 中 能 使 用这 个 控 件 而 不 是 对 其 安 全 漏 洞 进 行 核 查 尽 管 你 肯 定 想 这 样 干 第 10 章 创 建 A c tiv e X 控 件 - 图55 有 些 人 想一 下 子 就 把 控 件 放 入 最 近 的 HT M L 页 或 产 品 应 用 程 序 中 这 实 际 上 不 是 干 事 情的 最 好 办 法 通 常 在 内 部 环 境 中 ( in- hous e ) 测 试 三 次 投 入 实 际 实 现 中 时 再 测 试一 次 因 为 W ind ow s S c r ip ting H o s t第 10 章 创 建 A c tiv e X 控 件 - 图56 W S H 窗 口 脚 本 主 机 第 10 章 创 建 A c tiv e X 控 件 - 图57 提 供 了 使 用 A c tiv e X 控 件 的 另 外 机 会 所 以 也 要 在 这 个 环 境 中 对 它 们 进 行 测 试 如 果 A c tiv e X 控件 在 In te rn e t 上 不 成 功 你 会 发 现 可 以 限 制 它 们 用 于 公 司 内 部 网 W S H 附 件 或作 为 一 个 应 用 程 序 组 件 第 10 章 创 建 A c tiv e X 控 件 - 图58

第 10 章 创 建 A c tiv e X 控 件 - 图59第 10 章 创 建 A c tiv e X 控 件 - 图60第 10 章 创 建 A c tiv e X 控 件 - 图61第 10 章 创 建 A c tiv e X 控 件 - 图62注 一 个 ActiveX 控 件 的 完 全 测 试 意 味 着 对 它 能 否 在 应 用 程 序 本 地 HTML 和 远 程 HTML 环 境 中 工 作 还 要 测 试 它 在 W S H 环 境 下 能 否 工 作

第 10 章 创 建 A c tiv e X 控 件 - 图63第 10 章 创 建 A c tiv e X 控 件 - 图64第 10 章 创 建 A c tiv e X 控 件 - 图65第 10 章 创 建 A c tiv e X 控 件 - 图66第 10 章 创 建 A c tiv e X 控 件 - 图67第 10 章 创 建 A c tiv e X 控 件 - 图68第 10 章 创 建 A c tiv e X 控 件 - 图69本 章 还 要 花 费 时 间 去 讨 论 两 个 AP I 它 们 是 比 照 着 A c tiv e X 控 件 的 参 照 物OC X 开 始 定 义 A c tiv e X 的 可 以 发 现 绝 大 部 分 的 OC X 已 经 工 作 得 很 像 是A c tiv e X 控 件 了 阻 碍 你 使 用 它 们 的 唯 一 障 碍 是 供 货 商 用 什 么 方 式 许 可 使 用它 们 In te rn e t 的 公 共 特 性 使 得 使 用 你 可 能 拥 有 的 控 件 的 当 前 版 本 更 加 困 难 ─

第 10 章 创 建 A c tiv e X 控 件 - 图70第 10 章 创 建 A c tiv e X 控 件 - 图71第 10 章 创 建 A c tiv e X 控 件 - 图72第 10 章 创 建 A c tiv e X 控 件 - 图73第 10 章 创 建 A c tiv e X 控 件 - 图74第 10 章 创 建 A c tiv e X 控 件 - 图75第 10 章 创 建 A c tiv e X 控 件 - 图76— 大 多 数 供 货 商 允 许 把 它 们 包 括 到 你 创 建 的 应 用 程 序 中 但 不 能 做 为 W e b 页 的一 部 分 这 些 日 子 里 更 多 的 关 注 是 构 造 这 些 控 件 的 方 法 它 们 太 大 了 以 至于 不 能 在 合 理 的 时 间 内 把 它 们 下 载 必 须 记 住 用 户 不 会 仅 仅 是 为 了 看 到 一 个

第 10 章 创 建 A c tiv e X 控 件 - 图77第 10 章 创 建 A c tiv e X 控 件 - 图78第 10 章 创 建 A c tiv e X 控 件 - 图79第 10 章 创 建 A c tiv e X 控 件 - 图80第 10 章 创 建 A c tiv e X 控 件 - 图81第 10 章 创 建 A c tiv e X 控 件 - 图82花 哨 的 屏 幕 按 钮 而 乐 意 于 下 载 一 个 很 大 的 文 件

WEB 链 接 附 录 A 列 出 了 也 许 会 考 虑 添 加 到 工 具 箱 的 第 三 方 的 ActiveX 控件 在 那 里 除 了 可 以 找 到 供 货 商 外 还 可 以 看 一 下 由 NCompass 推 出的 CaptiveX 控 件 CaptiveX 包 括 6 个 控 件 使 你 可 以 使 用 广 告 牌( billboard) 和 轻 型 招 贴 画 (lightpane l) 之 类 的 方 式 显 示 信 息 在http: //www . ncompasslabs. com/ca ptivex/index. htm 可 以 获 得CaptiveX 控 件 的 完 全 演 示 版 与 许 多 演 示 站 点 不 一 样 如 果 安 装 了ScriptActi ve 插 件 可 以 从 这 个 演 示 站 点 下 载 就 可 以 使 用 Netscape Navigator 在 这 个 站 点 工 作

第 10 章 创 建 A c tiv e X 控 件 - 图83第 10 章 创 建 A c tiv e X 控 件 - 图84第 10 章 创 建 A c tiv e X 控 件 - 图85第 10 章 创 建 A c tiv e X 控 件 - 图86第 10 章 创 建 A c tiv e X 控 件 - 图87第 10 章 创 建 A c tiv e X 控 件 - 图88第 10 章 创 建 A c tiv e X 控 件 - 图89第 10 章 创 建 A c tiv e X 控 件 - 图90第 10 章 创 建 A c tiv e X 控 件 - 图91第 10 章 创 建 A c tiv e X 控 件 - 图92第 10 章 创 建 A c tiv e X 控 件 - 图93第 10 章 创 建 A c tiv e X 控 件 - 图94第 10 章 创 建 A c tiv e X 控 件 - 图95第 10 章 创 建 A c tiv e X 控 件 - 图96第 10 章 创 建 A c tiv e X 控 件 - 图97第 10 章 创 建 A c tiv e X 控 件 - 图98第 10 章 创 建 A c tiv e X 控 件 - 图99第 10 章 创 建 A c tiv e X 控 件 - 图100第 10 章 创 建 A c tiv e X 控 件 - 图101第 10 章 创 建 A c tiv e X 控 件 - 图102第 10 章 创 建 A c tiv e X 控 件 - 图103第 10 章 创 建 A c tiv e X 控 件 - 图104第 10 章 创 建 A c tiv e X 控 件 - 图105第 10 章 创 建 A c tiv e X 控 件 - 图106第 10 章 创 建 A c tiv e X 控 件 - 图107本 章 的 最 后 一 节 打 算 考 察 一 下 R eal A u d io 我 发 现 看 一 下 别 人 在 做 什 么至 少 与 本 章 中 我 们 钻 研 学 习 程 序 设 计 技 术 一 样 重 要 R eal A u d io 提 供 一 个 控 件允 许 你 在 In te rn e t 上 演 奏 音 乐 或 其 它 种 类 的 声 音 事 实 上 可 以 发 现 这 个 控 件 的使 用 遍 及 In te rn e t 原 因 是 它 满 足 了 你 要 知 道 的 两 条 规 则 第 一 这 个 控 件 很 小用 极 少 的 下 载 时 间 就 可 完 成 下 载 任 务 第 二 它 提 供 的 是 流 型 声 音 这 意 味 着用 户 可 以 得 到 即 时 反 馈 实 质 上 用 户 不 会 注 意 下 载 整 个 声 音 文 件 要 用 多 少 时间 因 为 R e a l A ud io 控 件 只 要 得 到 文 件 的 一 小 部 分 就 可 以 开 始 演 奏 音 乐 或 其它 声 音 信 息 第 10 章 创 建 A c tiv e X 控 件 - 图108

1 0. 1 理 解 Ac ti ve X 控 件 的 一 些 背 景 知 识

第 10 章 创 建 A c tiv e X 控 件 - 图109第 10 章 创 建 A c tiv e X 控 件 - 图110第 10 章 创 建 A c tiv e X 控 件 - 图111第 10 章 创 建 A c tiv e X 控 件 - 图112第 10 章 创 建 A c tiv e X 控 件 - 图113第 10 章 创 建 A c tiv e X 控 件 - 图114第 10 章 创 建 A c tiv e X 控 件 - 图115第 10 章 创 建 A c tiv e X 控 件 - 图116第 10 章 创 建 A c tiv e X 控 件 - 图117第 10 章 创 建 A c tiv e X 控 件 - 图118第 10 章 创 建 A c tiv e X 控 件 - 图119第 10 章 创 建 A c tiv e X 控 件 - 图120第 10 章 创 建 A c tiv e X 控 件 - 图121第 10 章 创 建 A c tiv e X 控 件 - 图122第 10 章 创 建 A c tiv e X 控 件 - 图123第 10 章 创 建 A c tiv e X 控 件 - 图124第 10 章 创 建 A c tiv e X 控 件 - 图125在 真 正 开 始 创 建 A c tiv e X 控 件 之 前 需 考 虑 三 个 问 题 第 一 个 当 然 是 A c tiv e X 控 件 是 什 么 这 个 问 题 引 起 了 不 少 混 乱 所 以 对 它 下 个 定 义 是 很 重 要 的 请 记住 这 是 本 书 的 定 义 一 旦 你 开 始 成 为 迎 合 A c tiv e X 程 序 员 的 新 闻 组 的 常 客 时 就 会 发 现 各 种 其 它 答 案 第 二 件 事 是 我 们 要 讨 论 一 下 一 旦 你 创 建 了 一 个A c tiv e X 控 件 你 能 从 它 得 到 些 什 么 这 个 讨 论 中 还 要 看 用 户 期 待 些 什 么 最后 我 们 需 要 看 一 下 A c tiv e X 控 件 与 使 用 过 的 其 它 控 件 有 什 么 区 别 最 重 要 的是 OC X 和 A c tiv e X 控 件 有 什 么 区 别 下 面 每 一 节 帮 助 你 探 讨 刚 才 提 到 的 一 个 问题

什 么 是 ActiveX

第 10 章 创 建 A c tiv e X 控 件 - 图126第 10 章 创 建 A c tiv e X 控 件 - 图127第 10 章 创 建 A c tiv e X 控 件 - 图128第 10 章 创 建 A c tiv e X 控 件 - 图129第 10 章 创 建 A c tiv e X 控 件 - 图130第 10 章 创 建 A c tiv e X 控 件 - 图131第 10 章 创 建 A c tiv e X 控 件 - 图132这 里 讲 得 是 你 发 现 的 对 A c tiv e X 所 作 的 最 简 单 的 定 义 A c tiv e X 是 OC X 的高 级 形 式 也 许 把 它 看 作 OL E 的 较 简 单 形 式 更 合 适 第 10 章 创 建 A c tiv e X 控 件 - 图133 但 是 这 个 简 单 定 义 不能 表 达 A c tiv e X 控 件 的 实 质 用 户 认 为 A c tiv e X 就 是 O LE 对 程 序 员 来 说

第 10 章 创 建 A c tiv e X 控 件 - 图134第 10 章 创 建 A c tiv e X 控 件 - 图135第 10 章 创 建 A c tiv e X 控 件 - 图136第 10 章 创 建 A c tiv e X 控 件 - 图137第 10 章 创 建 A c tiv e X 控 件 - 图138第 10 章 创 建 A c tiv e X 控 件 - 图139第 10 章 创 建 A c tiv e X 控 件 - 图140A c tiv e X 还 是 一 套 用 于 In te rn e t 的 实 能 技 术 它 提 供 了 过 去 没 有 的 一 种 信 息 交 换方 法

注 释 Microsoft 目 前 正 在 开 发 一 种 新 的 Internet 专 用 的 组 件 技 术 称 为COM+ 尽 管 许 多 内 部 网 使 用 了 ActiveX 而 且 ActiveX 依 然 将 用 作应 用 程 序 组 件 但 ActiveX 从 未 在 Internet 上 广 泛 被 采 用 过 ActiveX

第 10 章 创 建 A c tiv e X 控 件 - 图141第 10 章 创 建 A c tiv e X 控 件 - 图142第 10 章 创 建 A c tiv e X 控 件 - 图143第 10 章 创 建 A c tiv e X 控 件 - 图144第 10 章 创 建 A c tiv e X 控 件 - 图145第 10 章 创 建 A c tiv e X 控 件 - 图146在 Internet 上 失 败 的 理 由 有 三 条 组 件 大 小 安 全 考 虑 以 及 缺 乏 对非 Microsoft 浏 览 器 的 兼 容 性 请 谨 记 你 或 许 应 该 考 虑 把 ActiveX 控 件 作 为 公 司 内 部 使 用 的 解 决 方 案 而 不 是 做 为 Internet 的 实 现 技术

第 10 章 创 建 A c tiv e X 控 件 - 图147第 10 章 创 建 A c tiv e X 控 件 - 图148第 10 章 创 建 A c tiv e X 控 件 - 图149第 10 章 创 建 A c tiv e X 控 件 - 图150第 10 章 创 建 A c tiv e X 控 件 - 图151第 10 章 创 建 A c tiv e X 控 件 - 图152第 10 章 创 建 A c tiv e X 控 件 - 图153第 10 章 创 建 A c tiv e X 控 件 - 图154第 10 章 创 建 A c tiv e X 控 件 - 图155第 10 章 创 建 A c tiv e X 控 件 - 图156第 10 章 创 建 A c tiv e X 控 件 - 图157第 10 章 创 建 A c tiv e X 控 件 - 图158第 10 章 创 建 A c tiv e X 控 件 - 图159第 10 章 创 建 A c tiv e X 控 件 - 图160第 10 章 创 建 A c tiv e X 控 件 - 图161第 10 章 创 建 A c tiv e X 控 件 - 图162第 10 章 创 建 A c tiv e X 控 件 - 图163第 10 章 创 建 A c tiv e X 控 件 - 图164作 为 真 正 欣 赏 A c tiv e X 的 程 序 员 就 不 得 不 从 程 序 员 的 角 度 去 看 一 下 OL E 这 就 是 意 味 着 要 看 一 下 OC X 从 用 户 的 角 度 看 OC X 所 做 的 都 是 在 两 个 应 用程 序 或 操 作 系 统 与 一 个 应 用 程 序 第 10 章 创 建 A c tiv e X 控 件 - 图165 之 间 交 换 数 据 OC X 比 数 据 交 换 的 内 涵 要丰 富 得 多 它 们 包 括 着 一 种 称 之 为 组 件 对 象 模 型 (C O M ) 的 概 念 CO M 是 定 义 对象 模 块 间 标 准 二 进 制 接 口 的 规 范 这 个 接 口 定 义 了 函 数 调 用 方 法 基 于 标 准 结构 的 数 据 传 送 技 术 以 及 几 个 标 准 的 函 数 调 用 使 用 CO M 意 味 着 你 写 应 用 程序 模 块 如 OC X 第 10 章 创 建 A c tiv e X 控 件 - 图166 时 使 用 何 种 语 言 都 无 关 紧 要 因 为 模 块 接 口 在 二 进 制 层 次 上是 相 同 的

注 释 写 作 本 书 时 Microsoft 正 在 设 计 WebView 它 是 Internet Explorer 与 Windows 95 系 统 的 Explorer 之 间 的 一 种 集 成 技 术 这 一 新 技 术 使得 对 Web 站 点 的 访 问 就 像 对 Explorer 中 列 出 的 驱 动 器 或 其 它 资 源 的访 问 一 样 容 易 还 可 以 看 到 你 比 较 熟 悉 的 U R L 已 被 普 通 英 文 名 称 所代 替 你 可 以 在 Windows 98 中 看 到 这 一 技 术 的 实 际 运 用

第 10 章 创 建 A c tiv e X 控 件 - 图167第 10 章 创 建 A c tiv e X 控 件 - 图168第 10 章 创 建 A c tiv e X 控 件 - 图169第 10 章 创 建 A c tiv e X 控 件 - 图170第 10 章 创 建 A c tiv e X 控 件 - 图171第 10 章 创 建 A c tiv e X 控 件 - 图172第 10 章 创 建 A c tiv e X 控 件 - 图173CO M 怎 样 对 你 写 的 应 用 程 序 产 生 影 响 呢 ? 答 案 是 相 当 复 杂 的 原 因 在 于 使用 CO M 的 方 式 众 多 倒 不 是 因 为 技 术 本 身 是 多 么 复 杂 当 用 户 把 一 个 图 形 图像 对 象 放 入 你 的 应 用 程 序 控 制 的 容 器 中 时 你 对 这 个 对 象 知 道 些 什 么 呢 ? 实 际

第 10 章 创 建 A c tiv e X 控 件 - 图174第 10 章 创 建 A c tiv e X 控 件 - 图175第 10 章 创 建 A c tiv e X 控 件 - 图176第 10 章 创 建 A c tiv e X 控 件 - 图177第 10 章 创 建 A c tiv e X 控 件 - 图178上 你 只 知 道 是 谁 首 先 创 建 了 它 知 道 这 一 信 息 就 允 许 你 在 这 个 应 用 程 序 中 调 用许 多 服 务 这 些 服 务 包 括 显 示 这 个 图 形 或 允 许 用 户 编 辑 它 实 际 中 你 在 做 的是 共 享 应 用 程 序 的 代 码

第 10 章 创 建 A c tiv e X 控 件 - 图179第 10 章 创 建 A c tiv e X 控 件 - 图180第 10 章 创 建 A c tiv e X 控 件 - 图181第 10 章 创 建 A c tiv e X 控 件 - 图182第 10 章 创 建 A c tiv e X 控 件 - 图183第 10 章 创 建 A c tiv e X 控 件 - 图184第 10 章 创 建 A c tiv e X 控 件 - 图185第 10 章 创 建 A c tiv e X 控 件 - 图186第 10 章 创 建 A c tiv e X 控 件 - 图187第 10 章 创 建 A c tiv e X 控 件 - 图188程 序 员 也 能 从 使 用 CO M 中 受 益 当 把 一 个 OC X 安 装 到 你 的 程 序 设 计 环 境中 时 实 际 上 你 完 成 了 什 么 呢 ? 大 多 数 情 况 下 你 拥 有 了 一 个 粘 贴 于 窗 体 某 处 的一 个 新 控 件 你 不 必 真 正 地 知 道 控 件 的 内 部 工 作 原 理 唯 一 重 要 的 因 素 是 控件 能 为 你 的 应 用 程 序 做 些 什 么 以 及 如 何 与 它 打 交 道 你 可 以 使 用 标 准 接 口 来调 用 安 装 到 你 机 器 中 的 特 定 代 码 模 块 这 就 是 CO M

第 10 章 创 建 A c tiv e X 控 件 - 图189第 10 章 创 建 A c tiv e X 控 件 - 图190第 10 章 创 建 A c tiv e X 控 件 - 图191第 10 章 创 建 A c tiv e X 控 件 - 图192第 10 章 创 建 A c tiv e X 控 件 - 图193第 10 章 创 建 A c tiv e X 控 件 - 图194第 10 章 创 建 A c tiv e X 控 件 - 图195第 10 章 创 建 A c tiv e X 控 件 - 图196A c tiv e X 是 这 种 思 想 的 扩 充 仍 然 使 用 标 准 接 口 但 是 不 再 简 单 地 从 本 地机 器 环 境 或 L AN /W A N 网 的 常 设 连 接 上 调 用 代 码 而 是 从 In te rn e t 调 用 它 另外 这 一 新 的 代 码 能 采 用 a pp le ts 包 含 内 容 的 小 程 序 第 10 章 创 建 A c tiv e X 控 件 - 图197 或 微 小 应 用 程 序 的 形 式

ActiveX 将 为 你 做 些 什 么

第 10 章 创 建 A c tiv e X 控 件 - 图198第 10 章 创 建 A c tiv e X 控 件 - 图199第 10 章 创 建 A c tiv e X 控 件 - 图200第 10 章 创 建 A c tiv e X 控 件 - 图201第 10 章 创 建 A c tiv e X 控 件 - 图202第 10 章 创 建 A c tiv e X 控 件 - 图203第 10 章 创 建 A c tiv e X 控 件 - 图204第 10 章 创 建 A c tiv e X 控 件 - 图205第 10 章 创 建 A c tiv e X 控 件 - 图206第 10 章 创 建 A c tiv e X 控 件 - 图207第 10 章 创 建 A c tiv e X 控 件 - 图208第 10 章 创 建 A c tiv e X 控 件 - 图209OC X 能 为 桌 面 系 统 做 些 什 么 A c tiv e X 就 能 为 In te rn e t 做 同 样 的 事 但 是你 将 在 以 前 从 没 想 到 的 地 方 发 现 A c tiv e X 控 件 例 如 N e t M an a g e ,In c 公 司 计 划创 建 一 个 新 的 电 子 邮 件 客 户 机 称 之 为 Z - M a i l P ro 这 一 软 件 包 支 持 A c tiv e X 技术 的 方 式 是 允 许 用 户 直 接 地 在 消 息 查 看 窗 口 中 交 换 创 建 以 及 查 看 HT M L 文档 这 就 意 味 着 用 户 拥 有 了 创 建 动 态 W e b 页 的 能 力 这 种 能 力 正 是 你 今 天 不得 不 实 际 完 成 的 任 务

第 10 章 创 建 A c tiv e X 控 件 - 图210第 10 章 创 建 A c tiv e X 控 件 - 图211第 10 章 创 建 A c tiv e X 控 件 - 图212远 程 连 接 也 会 从 A c tiv e X 的 使 用 中 受 益 例 如 P rog ine t C o rpora tion 目 前 正在 开 发 把 主 机 (M a in fra m e ) 数 据 带 到 桌 面 系 统 去 的 A c tv e X 技 术 它 的 Fu s io n

第 10 章 创 建 A c tiv e X 控 件 - 图213第 10 章 创 建 A c tiv e X 控 件 - 图214第 10 章 创 建 A c tiv e X 控 件 - 图215第 10 章 创 建 A c tiv e X 控 件 - 图216第 10 章 创 建 A c tiv e X 控 件 - 图217FT M S 文 件 传 输 管 理 系 统 第 10 章 创 建 A c tiv e X 控 件 - 图218 可 以 使 用 支 持 OL E 容 器 的 任 何 开 发 语 言 比 如

D e lphi

V is u a l

C + + 以 及 Po w e r B u ild e r

从 本 质 上 看 你 将 把 一 个 A c t iv e X 控 件
放 入 一

个 窗 体

定 义 到 哪 里 去 找 数 据

然 后 依 靠 控 件 进 行 连 接 In te rn e t 上 的 远

第 10 章 创 建 A c tiv e X 控 件 - 图219第 10 章 创 建 A c tiv e X 控 件 - 图220第 10 章 创 建 A c tiv e X 控 件 - 图221第 10 章 创 建 A c tiv e X 控 件 - 图222第 10 章 创 建 A c tiv e X 控 件 - 图223第 10 章 创 建 A c tiv e X 控 件 - 图224程 访 问 不 再 要 求 用 户 去 钻 过 马 戏 团 中 的 大 铁 圈 了 第 10 章 创 建 A c tiv e X 控 件 - 图225 即 不 用 在 连 接 中 跳 来 跳 去了 第 10 章 创 建 A c tiv e X 控 件 - 图226 主 机 上 一 个 特 殊 的 传 输 服 务 器 通 过 自 动 化 地 处 理 所 有 传 输 请 求 而 完 成 打包 操 作 员 在 客 户 能 访 问 公 司 站 点 之 前 再 也 不 用 人 工 地 为 站 点 下 载 一 个 必 需 的文 件 了

第 10 章 创 建 A c tiv e X 控 件 - 图227第 10 章 创 建 A c tiv e X 控 件 - 图228第 10 章 创 建 A c tiv e X 控 件 - 图229第 10 章 创 建 A c tiv e X 控 件 - 图230第 10 章 创 建 A c tiv e X 控 件 - 图231第 10 章 创 建 A c tiv e X 控 件 - 图232第 10 章 创 建 A c tiv e X 控 件 - 图233第 10 章 创 建 A c tiv e X 控 件 - 图234第 10 章 创 建 A c tiv e X 控 件 - 图235第 10 章 创 建 A c tiv e X 控 件 - 图236第 10 章 创 建 A c tiv e X 控 件 - 图237第 10 章 创 建 A c tiv e X 控 件 - 图238第 10 章 创 建 A c tiv e X 控 件 - 图239第 10 章 创 建 A c tiv e X 控 件 - 图240甚 至 于 M ic ros oft E x c h a nge 也 会 从 A c tiv e X 受 益 W a ng L a bora torie s , In c . 和其 它 公 司 正 在 创 建 将 E x ch an g e 和 A c t iv e X 混 合 在 一 起 的 新 的 附 件 W a n g 的 产品 是 客 户 机 / 服 务 器 图 像 附 件 它 允 许 用 户 扫 描 查 看 注 释 操 作 或 打 印 图 形图 像 而 不 用 考 虑 这 些 图 像 位 于 何 处 正 是 这 个 产 品 还 包 括 了 一 个 层 次 存 贮管 理 的 A c tiv e X 控 件 将 这 两 种 技 术 组 合 在 一 起 使 得 在 大 公 司 中 使 用 和 访 问图 形 变 得 容 易 了 它 们 还 使 得 寻 找 一 个 所 需 的 图 形 变 得 容 易 了 这 最 终 导 致 公司 节 约 了 存 贮 空 间

第 10 章 创 建 A c tiv e X 控 件 - 图241第 10 章 创 建 A c tiv e X 控 件 - 图242第 10 章 创 建 A c tiv e X 控 件 - 图243第 10 章 创 建 A c tiv e X 控 件 - 图244第 10 章 创 建 A c tiv e X 控 件 - 图245第 10 章 创 建 A c tiv e X 控 件 - 图246第 10 章 创 建 A c tiv e X 控 件 - 图247第 10 章 创 建 A c tiv e X 控 件 - 图248第 10 章 创 建 A c tiv e X 控 件 - 图249第 10 章 创 建 A c tiv e X 控 件 - 图250第 10 章 创 建 A c tiv e X 控 件 - 图251M ic ros oft 自 己 也 发 布 了 许 许 多 多 的 A c tiv e X 控 件 其 中 有 些 可 以 从 M ic ros oft 的 In te rn e t 站 点 ( h ttp : // www. m ic ro s o f t. c o m ) 免 费 下 载 这 些 新 的 控 件 有 用 于P o w e r P o int 的 A n im a tio n P la y e r 以 及 用 于 A cce s s 和 S c he du le + 的 In te rn e t A ssista n t In te rn e t 助 手 第 10 章 创 建 A c tiv e X 控 件 - 图252 A c c e s s 的 In te rn e t 助 手 能 为 要 上 载 的 数 据 库 表 格 拍出 快 照 作 为 静 态 图 像 每 当 用 户 访 问 该 页 时 快 照 都 会 自 动 更 新 S c he du le + 的In te rn e t 助 手 允 许 把 日 程 表 信 息 加 载 到 W e b 页 因 为 每 当 用 户 访 问 站 点 时 都 会自 动 更 新 这 些 数 据 所 以 再 也 不 用 担 心 在 家 上 班 的 雇 员 会 缺 席 会 议 了 最 后

P o w e r P o int 的 动 画 放 映 机 则 允 许 你 在 任 何 兼 容 A c tiv e X 的 浏 览 器 中 演 示

第 10 章 创 建 A c tiv e X 控 件 - 图253P o w e t P o int 的 演 示 文 稿

第 10 章 创 建 A c tiv e X 控 件 - 图254第 10 章 创 建 A c tiv e X 控 件 - 图255第 10 章 创 建 A c tiv e X 控 件 - 图256第 10 章 创 建 A c tiv e X 控 件 - 图257第 10 章 创 建 A c tiv e X 控 件 - 图258第 10 章 创 建 A c tiv e X 控 件 - 图259第 10 章 创 建 A c tiv e X 控 件 - 图260第 10 章 创 建 A c tiv e X 控 件 - 图261第 10 章 创 建 A c tiv e X 控 件 - 图262第 10 章 创 建 A c tiv e X 控 件 - 图263第 10 章 创 建 A c tiv e X 控 件 - 图264第 10 章 创 建 A c tiv e X 控 件 - 图265第 10 章 创 建 A c tiv e X 控 件 - 图266第 10 章 创 建 A c tiv e X 控 件 - 图267第 10 章 创 建 A c tiv e X 控 件 - 图268第 10 章 创 建 A c tiv e X 控 件 - 图269第 10 章 创 建 A c tiv e X 控 件 - 图270最 后 如 果 认 为 A c tiv e X 无 助 于 安 全 性 那 还 要 再 推 敲 一 下 这 些 日 子 里许 多 的 新 的 防 火 墙 和 证 书 策 略 正 在 轮 番 出 现 其 中 一 个 是 N e t2000 N e t2000 是由 许 多 AP I 构 成 的 允 许 开 发 人 员 把 N e t W a re 内 核 服 务 包 括 目 录 安 全 和特 许 证 书 第 10 章 创 建 A c tiv e X 控 件 - 图271 放 入 自 己 的 应 用 程 序 中 你 可 以 在 内 部 网 中 通 过 A c tiv e X 控 件 来 选择 这 个 AP I 这 种 做 法 对 用 户 和 开 发 人 员 有 什 么 帮 助 呢 ? 这 意 味 着 在 适 当 的程 序 设 计 结 构 下 网 络 管 理 员 能 够 追 踪 整 个 网 络 中 的 特 许 使 用 这 种 追 踪 甚 至于 跨 越 In te rn e t 连 接 当 更 多 的 人 开 始 在 家 中 而 不 是 在 办 公 室 中 进 行 计 算 工 作时 这 就 变 成 了 一 个 非 常 重 要 的 课 题

ActiveX 与 OCX 控 件

第 10 章 创 建 A c tiv e X 控 件 - 图272第 10 章 创 建 A c tiv e X 控 件 - 图273第 10 章 创 建 A c tiv e X 控 件 - 图274第 10 章 创 建 A c tiv e X 控 件 - 图275第 10 章 创 建 A c tiv e X 控 件 - 图276第 10 章 创 建 A c tiv e X 控 件 - 图277第 10 章 创 建 A c tiv e X 控 件 - 图278第 10 章 创 建 A c tiv e X 控 件 - 图279第 10 章 创 建 A c tiv e X 控 件 - 图280第 10 章 创 建 A c tiv e X 控 件 - 图281第 10 章 创 建 A c tiv e X 控 件 - 图282第 10 章 创 建 A c tiv e X 控 件 - 图283第 10 章 创 建 A c tiv e X 控 件 - 图284就 绝 大 多 数 情 况 来 说 A c tiv e X 控 件 和 OC X 控 件 是 完 全 可 以 互 换 的 可 以看 到 与 In te rn e t 风 马 牛 不 相 及 的 A c t iv e X 控 件 广 告 仔 细 一 看 就 会 发 现 在 不久 以 前 这 些 控 件 大 概 还 出 现 在 OC X 控 件 列 表 中 当 然 你 要 仔 细 观 察 这 些 控件 即 使 A c tiv e X 控 件 与 OC X 控 件 确 实 共 享 了 同 一 继 承 A c tiv e X 控 件 与 OC X 控 件 也 不 完 全 是 一 回 事 请 记 住 A c tiv e X 控 件 是 能 够 在 In te rn e t 上 工 作 的

第 10 章 创 建 A c tiv e X 控 件 - 图285第 10 章 创 建 A c tiv e X 控 件 - 图286第 10 章 创 建 A c tiv e X 控 件 - 图287第 10 章 创 建 A c tiv e X 控 件 - 图288第 10 章 创 建 A c tiv e X 控 件 - 图289第 10 章 创 建 A c tiv e X 控 件 - 图290第 10 章 创 建 A c tiv e X 控 件 - 图291In te rn e t 对 程 序 设 计 环 境 带 来 了 一 些 特 殊 的 挑 战 你 不 再 能 够 奢 求 高 速 装 入OC X 在 因 特 网 环 境 中 使 用 时 其 规 模 成 了 一 个 严 重 的 问 题 下 载 一 个 60K B 的OC X 就 对 用 户 的 耐 心 带 来 了 考 验 而 试 图 下 载 一 个 200K B 的 OC X 大 概 会 导致 用 户 中 断 下 载 而 A c tiv e X 控 件 是 OC X 的 小 型 版 本

第 10 章 创 建 A c tiv e X 控 件 - 图292注 OCX 和 ActiveX 控 件 的 一 个 主 要 差 别 是 ActiveX 控 件 通 常 要 小 一 些 第 10 章 创 建 A c tiv e X 控 件 - 图293 轻一 些 第 10 章 创 建 A c tiv e X 控 件 - 图294

第 10 章 创 建 A c tiv e X 控 件 - 图295第 10 章 创 建 A c tiv e X 控 件 - 图296第 10 章 创 建 A c tiv e X 控 件 - 图297第 10 章 创 建 A c tiv e X 控 件 - 图298第 10 章 创 建 A c tiv e X 控 件 - 图299第 10 章 创 建 A c tiv e X 控 件 - 图300第 10 章 创 建 A c tiv e X 控 件 - 图301第 10 章 创 建 A c tiv e X 控 件 - 图302第 10 章 创 建 A c tiv e X 控 件 - 图303第 10 章 创 建 A c tiv e X 控 件 - 图304第 10 章 创 建 A c tiv e X 控 件 - 图305第 10 章 创 建 A c tiv e X 控 件 - 图306A c tiv e X 控 件 也 在 受 到 各 种 机 器 专 用 需 求 的 牵 制 在 机 器 上 安 装 OC X 时 安装 程 序 能 对 机 器 进 行 检 测 并 作 出 所 需 的 许 可 对 A c tiv e X 控 件 却 不 能 这 样 要 求在 这 里 你 不 能 对 客 户 机 作 任 何 假 定 客 户 机 可 以 是 新 的 奔 腾 也 许 是 昨 日 的80 38 6 如 果 你 的 A c tiv e X 控 件 确 存 在 某 种 平 台 限 制 那 么 要 么 设 法 解 决 它要 么 肯 定 每 个 使 用 它 的 人 都 清 楚 这 一 限 制 第 10 章 创 建 A c tiv e X 控 件 - 图307

第 10 章 创 建 A c tiv e X 控 件 - 图308第 10 章 创 建 A c tiv e X 控 件 - 图309第 10 章 创 建 A c tiv e X 控 件 - 图310第 10 章 创 建 A c tiv e X 控 件 - 图311第 10 章 创 建 A c tiv e X 控 件 - 图312第 10 章 创 建 A c tiv e X 控 件 - 图313你 还 需 要 应 付 OC X 程 序 员 从 未 想 到 的 情 况 比 如 如 果 浏 览 器 根 本 不 支 持A c tiv e X 时 会 发 生 什 么 ? 目 前 处 理 这 一 问 题 的 方 法 是 浏 览 器 对 那 些 不 知 作 如 何处 理 的 HT M L 标 记 只 是 简 单 地 忽 略 掉 在 这 种 情 况 下 很 容 易 应 付 一 个 与 A c tiv e X 不 兼 容 的 浏 览 器 ─ ─ 只 需 打 出 一 条 消 息 让 用 户知 道 他 们 的 浏 览器不 能 在 当前 页工作并指导 用户换一个浏览器就可 以了

基 于 MFC 与 基 于 ATL 的 控 件

第 10 章 创 建 A c tiv e X 控 件 - 图314第 10 章 创 建 A c tiv e X 控 件 - 图315第 10 章 创 建 A c tiv e X 控 件 - 图316第 10 章 创 建 A c tiv e X 控 件 - 图317第 10 章 创 建 A c tiv e X 控 件 - 图318第 10 章 创 建 A c tiv e X 控 件 - 图319第 10 章 创 建 A c tiv e X 控 件 - 图320第 10 章 创 建 A c tiv e X 控 件 - 图321第 10 章 创 建 A c tiv e X 控 件 - 图322第 10 章 创 建 A c tiv e X 控 件 - 图323V is u a l C + + 为 了 说 明 它 比 其 它 程 序 设 计 语 言 有 完 善 的 开 发 环 境 它 包 容 了 两种 创 建 A c tiv e X 控 件 的 方 法 M F C 和 AT L A c tiv e 模 板 库 第 10 章 创 建 A c tiv e X 控 件 - 图324 但 是 这 一 灵 活性 也 带 来 了 其 它 开 发 人 员 没 遇 到 的 一 些 问 题 比 如 怎 样 确 定 创 建 哪 一 种 类 型的 控 件 ? 一 些 开 发 人 员 通 过 在 他 创 建 的 所 有 控 件 中 使 用 同 一 种 技 术 来 解 决 这 个问 题 但 这 样 做 本 身 就 表 明 你 还 没 有 真 正 地 钻 研 并 利 用 V is u a l C + + 的 全 部 潜力

第 10 章 创 建 A c tiv e X 控 件 - 图325第 10 章 创 建 A c tiv e X 控 件 - 图326注 用 Visual C++ 创 建 ActiveX 控 件 有 两 种 方 法 ATL 和 MFC

第 10 章 创 建 A c tiv e X 控 件 - 图327第 10 章 创 建 A c tiv e X 控 件 - 图328确 实 没 有 任 何 理 由 能 肯 定 地 说 在 给 定 的 情 况 下 创 建 控 件 使 用 哪 种 方 法

第 10 章 创 建 A c tiv e X 控 件 - 图329第 10 章 创 建 A c tiv e X 控 件 - 图330第 10 章 创 建 A c tiv e X 控 件 - 图331第 10 章 创 建 A c tiv e X 控 件 - 图332第 10 章 创 建 A c tiv e X 控 件 - 图333第 10 章 创 建 A c tiv e X 控 件 - 图334第 10 章 创 建 A c tiv e X 控 件 - 图335第 10 章 创 建 A c tiv e X 控 件 - 图336第 10 章 创 建 A c tiv e X 控 件 - 图337第 10 章 创 建 A c tiv e X 控 件 - 图338第 10 章 创 建 A c tiv e X 控 件 - 图339第 10 章 创 建 A c tiv e X 控 件 - 图340第 10 章 创 建 A c tiv e X 控 件 - 图341第 10 章 创 建 A c tiv e X 控 件 - 图342第 10 章 创 建 A c tiv e X 控 件 - 图343第 10 章 创 建 A c tiv e X 控 件 - 图344会 更 好 真 正 需 要 做 的 是 弄 清 楚 你 期 待 控 件 做 些 什 么 你 打 算 对 什 么 进 行 开发 从 而 获 得 所 需 功 能 以 及 你 的 专 业 知 识 水 平 显 然 有 些 情 况 下 创 建 控 件用 这 种 方 法 比 另 一 种 方 法 更 好 因 为 两 种 方 法 确 实 各 有 利 弊 当 把 一 个 AT L A c tiv e X 控 件 与 一 个 M F C A c tiv e X 控 件 作 对 比 时 需 要 考 虑 一 些 因 素 为 了 给你 一 些 对 这 个 问 题 的 基 本 看 法 请 读 完 下 面 列 出 的 各 条 注 意 事 项 从 这 里 会 发现 一 些 对 你 有 用 的 基 本 思 路 从 而 帮 助 你 选 择 一 种 最 好 的 方 案

第 10 章 创 建 A c tiv e X 控 件 - 图345第 10 章 创 建 A c tiv e X 控 件 - 图346第 10 章 创 建 A c tiv e X 控 件 - 图347第 10 章 创 建 A c tiv e X 控 件 - 图348第 10 章 创 建 A c tiv e X 控 件 - 图349第 10 章 创 建 A c tiv e X 控 件 - 图350第 10 章 创 建 A c tiv e X 控 件 - 图351第 10 章 创 建 A c tiv e X 控 件 - 图352第 10 章 创 建 A c tiv e X 控 件 - 图353第 10 章 创 建 A c tiv e X 控 件 - 图354开 发 速 度 使 用 M F C A c tiv e X C o n tro l W iz a rd M F C A c tiv e X 控 件 生 成 向 导是 创 建 控 件 的 最 快 方 法 这 个 向 导 将 大 部 分 接 口 细 节 管 理 起 来 使 你 最 终 得到 控 件 逻 辑 的 一 个 轮 廓 事 实 上 使 用 AT L 方 法 创 建 控 件 通 常 要 使 开 发 人员 用 两 倍 于 M F C 方 法 第 10 章 创 建 A c tiv e X 控 件 - 图355 的 时 间 显 然 这 还 取 决 于 诸 如 控 件 复 杂 度 以 及程 序 设 计 经 验 之 类 的 因 素

第 10 章 创 建 A c tiv e X 控 件 - 图356第 10 章 创 建 A c tiv e X 控 件 - 图357第 10 章 创 建 A c tiv e X 控 件 - 图358第 10 章 创 建 A c tiv e X 控 件 - 图359第 10 章 创 建 A c tiv e X 控 件 - 图360第 10 章 创 建 A c tiv e X 控 件 - 图361第 10 章 创 建 A c tiv e X 控 件 - 图362第 10 章 创 建 A c tiv e X 控 件 - 图363第 10 章 创 建 A c tiv e X 控 件 - 图364第 10 章 创 建 A c tiv e X 控 件 - 图365第 10 章 创 建 A c tiv e X 控 件 - 图366第 10 章 创 建 A c tiv e X 控 件 - 图367第 10 章 创 建 A c tiv e X 控 件 - 图368第 10 章 创 建 A c tiv e X 控 件 - 图369第 10 章 创 建 A c tiv e X 控 件 - 图370第 10 章 创 建 A c tiv e X 控 件 - 图371第 10 章 创 建 A c tiv e X 控 件 - 图372第 10 章 创 建 A c tiv e X 控 件 - 图373第 10 章 创 建 A c tiv e X 控 件 - 图374第 10 章 创 建 A c tiv e X 控 件 - 图375第 10 章 创 建 A c tiv e X 控 件 - 图376维 护 M F C 和 AT L 共 有 的 特 色 是 使 得 用 它 们 产 生 的 代 码 比 那 些 从 头 开 始写 出 的 代 码 维 护 起 来 要 容 易 得 多 但 是 当 对 一 个 原 来 的 控 件 作 一 些 与维 护 有 关 的 变 化 比 如 找 出 小 毛 病 后 修 改 掉 它 第 10 章 创 建 A c tiv e X 控 件 - 图377 时 就 要 考 虑 一 下 了 AT L 控 件 通 常 包 含 不 多 的 由 向 导 生 成 的 锅 炉 钢 板 型 第 10 章 创 建 A c tiv e X 控 件 - 图378 即 难 懂 的 第 10 章 创 建 A c tiv e X 控 件 - 图379 代 码 因为 对 自 己 写 出 的 代 码 会 更 加 熟 悉 因 而 改 变 起 来 就 更 快 更 容 易 另 一 方 面M ic ros oft 维 护 着 你 使 用 的 M F C 中 所 有 控 件 这 就 是 说 许 多 小 毛 病 的 改 正和 其 它 种 类 的 更 新 只 要 简 便 地 再 把 代 码 编 译 一 次 就 可 以 自 动 地 完 成在 这 种 情 况 下 作 何 种 选 择 确 实 难 以 回 答 因 为 没 有 办 法 能 确 切 地 确 定 在将 来 你 需 要 对 你 的 控 件 作 什 么 样 的 维 护 变 化

第 10 章 创 建 A c tiv e X 控 件 - 图380第 10 章 创 建 A c tiv e X 控 件 - 图381控 件 大 小 如 果 要 创 建 最 小 的 A c tiv e X 控 件 那 么 采 取 AT L 方 案 最 好 AT L

第 10 章 创 建 A c tiv e X 控 件 - 图382把 控 件 的 各 方 面 控 制 权 都 留 给 你 使 得 你 可 以 方 便 地 手 工 调 节 控 件 的 每 个

第 10 章 创 建 A c tiv e X 控 件 - 图383第 10 章 创 建 A c tiv e X 控 件 - 图384第 10 章 创 建 A c tiv e X 控 件 - 图385第 10 章 创 建 A c tiv e X 控 件 - 图386第 10 章 创 建 A c tiv e X 控 件 - 图387元 素 而 不 至 于 陷 于 M F C 专 用 代 码 的 泥 潭 基 于 M F C 的 控 件 不 仅 规 模 大而 且 在 用 户 使 用 这 一 控 件 之 前 还 必 须 下 载 M F C 库 这 个 库 也 有 相 当 多 的 代码

第 10 章 创 建 A c tiv e X 控 件 - 图388第 10 章 创 建 A c tiv e X 控 件 - 图389第 10 章 创 建 A c tiv e X 控 件 - 图390第 10 章 创 建 A c tiv e X 控 件 - 图391第 10 章 创 建 A c tiv e X 控 件 - 图392第 10 章 创 建 A c tiv e X 控 件 - 图393第 10 章 创 建 A c tiv e X 控 件 - 图394第 10 章 创 建 A c tiv e X 控 件 - 图395第 10 章 创 建 A c tiv e X 控 件 - 图396第 10 章 创 建 A c tiv e X 控 件 - 图397第 10 章 创 建 A c tiv e X 控 件 - 图398学 习 难 度 由 于 创 建 AT L 控 件 时 不 得 不 考 虑 更 多 的 事 情 比 如 接 口 所以 创 建 起 来 比 M F C 控 件 就 更 困 难 多 数 情 况 下 先 用 M F C A c tiv e X C o n tro l W iz a rd M F C A c tiv e X 控 件 生 成 向 导 第 10 章 创 建 A c tiv e X 控 件 - 图399 创 建 几 个 控 件 从 中 学 习 创 建 控 件逻 辑 的 规 则 这 样 做 是 值 得 的

技 巧 如 果 你 用 惯 了 Visual C++ 5.0 的 ATL 那 么 就 尝 试 一 下 6 . 0 版 中 新的 ATL COM App Wizard ATL COM 应 用 程 序 生 成 向 导 第 10 章 创 建 A c tiv e X 控 件 - 图400新 的 ATL COM AppWizard 第 10 章 创 建 A c tiv e X 控 件 - 图401 ATL COM 应 用 程 序 生 成 向 导 第 10 章 创 建 A c tiv e X 控 件 - 图402 帮 助 你 以 比 过 去 手 工 技 术快 得 多 的 速 度 创 建 控 件 但 是 使 用 MFC ActiveX Control Wiza rd 第 10 章 创 建 A c tiv e X 控 件 - 图403MFC Activ eX 控 件 生 成 向 导 第 10 章 创 建 A c tiv e X 控 件 - 图404 创 建 控 件 仍 然 要 比 使 用 ATL COM AppWizard 第 10 章 创 建 A c tiv e X 控 件 - 图405 ATL COM 应 用 程 序 生 成 向 导 第 10 章 创 建 A c tiv e X 控 件 - 图406 快 得 多

  • 第 10 章 创 建 A c tiv e X 控 件 - 图407第 10 章 创 建 A c tiv e X 控 件 - 图408第 10 章 创 建 A c tiv e X 控 件 - 图409第 10 章 创 建 A c tiv e X 控 件 - 图410第 10 章 创 建 A c tiv e X 控 件 - 图411第 10 章 创 建 A c tiv e X 控 件 - 图412第 10 章 创 建 A c tiv e X 控 件 - 图413第 10 章 创 建 A c tiv e X 控 件 - 图414第 10 章 创 建 A c tiv e X 控 件 - 图415第 10 章 创 建 A c tiv e X 控 件 - 图416第 10 章 创 建 A c tiv e X 控 件 - 图417第 10 章 创 建 A c tiv e X 控 件 - 图418第 10 章 创 建 A c tiv e X 控 件 - 图419第 10 章 创 建 A c tiv e X 控 件 - 图420

    容 性 从 定 义 可 以 看 出 基 于 M F C 的 A c tiv e X 控 件 要 求 客 户 将 M F C 库安 装 到 他 们 的 机 器 上 但 是 有 好 多 种 版 本 的 M F C 库 在 使 用 而 它 们并 不 都 是 相 互 兼 容 的 如 果 用 户 下 载 了 你 的 控 件 及 其 相 关 的 库 但 不 能使 用 某 些 重 要 的 应 用 程 序 因 为 新 库 与 它 们 的 应 用 程 序 不 兼 容 这 时 该怎 么 办 呢 ? 因 为 M F C 库 存 贮 于 SY S T E M 目 录 下 客 户 机 仅 能 拥 有 一 个版 本 到 那 里 找 到 M F C 库 就 能 解 决 兼 容 性 问 题 了

  • 第 10 章 创 建 A c tiv e X 控 件 - 图421第 10 章 创 建 A c tiv e X 控 件 - 图422使

    用 的 难 易 程 度 M F C A c tiv e X C o n tro l W iz a rd M F C A c t iv e X 控 件 生成 向 导 第 10 章 创 建 A c tiv e X 控 件 - 图423 对 你 写 控 件 代 码 的 能 力 不 作 多 少 要 求 所 以 它 把 它 所 拥 有 的 一

第 10 章 创 建 A c tiv e X 控 件 - 图424第 10 章 创 建 A c tiv e X 控 件 - 图425第 10 章 创 建 A c tiv e X 控 件 - 图426第 10 章 创 建 A c tiv e X 控 件 - 图427第 10 章 创 建 A c tiv e X 控 件 - 图428第 10 章 创 建 A c tiv e X 控 件 - 图429切 都 放 进 了 控 件 之 中 这 意 味 着 你 最 终 可 以 得 到 十 分 丰 富 的 接 口 但 其中 有 的 对 你 来 说 或 许 用 不 着 这 一 功 能 性 浪 费 导 致 了 控 件 规 模 的 膨 胀并 且 使 得 它 难 于 使 用

  • 第 10 章 创 建 A c tiv e X 控 件 - 图430第 10 章 创 建 A c tiv e X 控 件 - 图431第 10 章 创 建 A c tiv e X 控 件 - 图432第 10 章 创 建 A c tiv e X 控 件 - 图433第 10 章 创 建 A c tiv e X 控 件 - 图434第 10 章 创 建 A c tiv e X 控 件 - 图435第 10 章 创 建 A c tiv e X 控 件 - 图436第 10 章 创 建 A c tiv e X 控 件 - 图437第 10 章 创 建 A c tiv e X 控 件 - 图438第 10 章 创 建 A c tiv e X 控 件 - 图439第 10 章 创 建 A c tiv e X 控 件 - 图440第 10 章 创 建 A c tiv e X 控 件 - 图441第 10 章 创 建 A c tiv e X 控 件 - 图442第 10 章 创 建 A c tiv e X 控 件 - 图443第 10 章 创 建 A c tiv e X 控 件 - 图444第 10 章 创 建 A c tiv e X 控 件 - 图445第 10 章 创 建 A c tiv e X 控 件 - 图446第 10 章 创 建 A c tiv e X 控 件 - 图447

    码 修 改 的 难 易 程 度 开 始 时 创 建 基 于 M F C 的 控 件 是 非 常 容 易 的因 为 向 导 把 许 多 代 码 都 添 加 好 了 所 以 应 用 程 序 开 发 进 程 很 快 你 只 需关 注 把 你 的 控 件 做 得 出 色 的 细 节 如 果 创 建 的 控 件 投 入 使 用 后 不 需 作 什么 修 改 选 择 M F C 显 然 是 上 策 但 是 如 果 决 定 要 更 新 控 件 时 该 怎 么办 ? 你 的 源 代 码 文 件 包 括 了 大 量 代 码 这 些 代 码 不 是 由 程 度 员 写 出 来的 需 要 用 额 外 的 时 间 去 研 究 理 解 它 们 因 此 如 果 计 划 经 常 会 对 代码 作 修 改 那 么 选 择 AT L 将 是 上 策 因 为 当 控 件 中 由 程 序 员 生 成 的代 码 出 了 什 么 事 时 程 序 员 处 理 起 来 就 容 易 多 了

1 0. 2 一 个 基 于 MF C 的 基 本 按 钮 编 程 示 例

第 10 章 创 建 A c tiv e X 控 件 - 图448第 10 章 创 建 A c tiv e X 控 件 - 图449第 10 章 创 建 A c tiv e X 控 件 - 图450第 10 章 创 建 A c tiv e X 控 件 - 图451第 10 章 创 建 A c tiv e X 控 件 - 图452第 10 章 创 建 A c tiv e X 控 件 - 图453第 10 章 创 建 A c tiv e X 控 件 - 图454第 10 章 创 建 A c tiv e X 控 件 - 图455第 10 章 创 建 A c tiv e X 控 件 - 图456第 10 章 创 建 A c tiv e X 控 件 - 图457第 10 章 创 建 A c tiv e X 控 件 - 图458在 我 的 机 器 上 我 想 不 出 有 哪 一 个 程 序 不 用 到 一 两 个 按 钮 事 实 上 按 钮是 为 数 不 多 的 可 以 说 是 每 个 应 用 程 序 都 要 用 到 的 W ind ow s 控 件 之 一 即 使 是在 一 个 简 单 对 话 框 中 显 示 信 息 的 应 用 程 序 中 通 常 也 要 在 用 完 对 话 框 后 关 闭 它时 使 用 OK 按 钮 只 要 说 按 钮 或 某 些 程 序 设 计 环 境 中 所 说 的 命 令 按 钮 第 10 章 创 建 A c tiv e X 控 件 - 图459 是 使你 机 器 正 常 运 转 的 一 个 控 件 就 够 了 它 还 是 绝 对 能 为 你 提 供 全 部 所 需 特 色 而且 程 序 员 改 变 最 多 的 一 个 控 件

第 10 章 创 建 A c tiv e X 控 件 - 图460注 按 钮 是 每 个 应 用 程 序 都 使 用 的 一 个 控 件 也 是 对 定 制 控 件 的 潜 力 进 行

第 10 章 创 建 A c tiv e X 控 件 - 图461讨 论 时 最 好 的 入 口 点

第 10 章 创 建 A c tiv e X 控 件 - 图462第 10 章 创 建 A c tiv e X 控 件 - 图463第 10 章 创 建 A c tiv e X 控 件 - 图464第 10 章 创 建 A c tiv e X 控 件 - 图465第 10 章 创 建 A c tiv e X 控 件 - 图466第 10 章 创 建 A c tiv e X 控 件 - 图467第 10 章 创 建 A c tiv e X 控 件 - 图468第 10 章 创 建 A c tiv e X 控 件 - 图469第 10 章 创 建 A c tiv e X 控 件 - 图470第 10 章 创 建 A c tiv e X 控 件 - 图471第 10 章 创 建 A c tiv e X 控 件 - 图472第 10 章 创 建 A c tiv e X 控 件 - 图473第 10 章 创 建 A c tiv e X 控 件 - 图474第 10 章 创 建 A c tiv e X 控 件 - 图475程 序 员 对 一 个 控 件 的 用 途 作 了 这 么 多 的 强 调 但 这 并 没 有 用 去 我 多 少 时 间使 我 不 能 在 本 章 的 这 一 节 中 确 定 用 哪 一 种 控 件 向 你 说 明 如 何 去 对 它 进 行 修 改我 还 想 增 加 一 个 新 特 色 你 也 许 在 按 钮 中 并 没 有 发 现 这 一 特 色 而 这 个 特 色 最终 是 每 个 人 都 必 需 的 正 是 为 了 说 明 下 述 特 色 我 才 选 择 O n / O f f 按 钮 作 为 本章 中 控 件 的 基 础 ─ ─ 就 好 象 在 进 行 应 用 程 序 设 计 中 每 个 人 要 打 开 / 关 闭 某 个 东 西一 样 将 这 种 特 色 内 置 于 你 使 用 的 控 件 之 中 是 非 常 好 的 对 于 从 V is u a l C + + 中得 到 的 缺 省 控 件 来 说 我 还 增 加 了 其 它 几 个 特 色 尽 管 我 的 这 个 按 钮 也 许 不 能将 商 业 化 程 序 中 所 用 控 件 的 花 哨 特 色 全 部 囊 括 但 它 能 帮 你 开 始 创 建 你 自 己 的定 制 控 件

定 义 工 程

第 10 章 创 建 A c tiv e X 控 件 - 图476第 10 章 创 建 A c tiv e X 控 件 - 图477第 10 章 创 建 A c tiv e X 控 件 - 图478第 10 章 创 建 A c tiv e X 控 件 - 图479第 10 章 创 建 A c tiv e X 控 件 - 图480第 10 章 创 建 A c tiv e X 控 件 - 图481第 10 章 创 建 A c tiv e X 控 件 - 图482第 10 章 创 建 A c tiv e X 控 件 - 图483第 10 章 创 建 A c tiv e X 控 件 - 图484第 10 章 创 建 A c tiv e X 控 件 - 图485第 10 章 创 建 A c tiv e X 控 件 - 图486第 10 章 创 建 A c tiv e X 控 件 - 图487第 10 章 创 建 A c tiv e X 控 件 - 图488从 用 户 和 程 序 员 两 个 角 度 来 说 本 章 前 面 讨 论 过 开 发 A c tiv e X 控 件 的 一 些规 则 现 在 再 从 程 序 员 角 度 深 入 探 讨 一 下 在 开 始 讨 论 第 一 个 程 序 设 计 例 子 之前 我 们 快 速 地 看 一 下 定 义 一 个 具 体 的 A c tiv e X 控 件 必 须 记 住 哪 些 规 则 下列 的 建 议 可 以 加 深 你 对 创 建 A c tiv e X 控 件 必 须 遵 守 的 一 些 特 殊 约 束 的 理 解

技 巧 尽 管 使 用 能 生 成 OCX 的 编 译 器 就 能 创 建 ActiveX 控 件 但 你 会 发现 使 用 Microsoft Visual C++ 第 10 章 创 建 A c tiv e X 控 件 - 图489 4.2 版 以 上 第 10 章 创 建 A c tiv e X 控 件 - 图490 产 品 将 会 为 你 节 约 许 多时 间 你 在 本 章 还 会 看 到 要 使 OCX 像 ActiveX 控 件 那 样 正 确 地 工 作哪 怕 在 最 好 的 环 境 中 也 需 要 一 些 额 外 的 步 骤 使 用 旧 版 编 译 器 意 味

第 10 章 创 建 A c tiv e X 控 件 - 图491第 10 章 创 建 A c tiv e X 控 件 - 图492第 10 章 创 建 A c tiv e X 控 件 - 图493着 你 需 要 用 D O S 命 令 行 工 具 来 处 理 额 外 的 步 骤 Microsoft Visual C++ 编 译 器 的 4 . 2 及 5 . x 都 把 这 些 工 具 作 为 软 件 包 的 一 部 分 而 且 将 它 们的 使 用 自 动 化 了

  • 第 10 章 创 建 A c tiv e X 控 件 - 图494第 10 章 创 建 A c tiv e X 控 件 - 图495第 10 章 创 建 A c tiv e X 控 件 - 图496第 10 章 创 建 A c tiv e X 控 件 - 图497第 10 章 创 建 A c tiv e X 控 件 - 图498第 10 章 创 建 A c tiv e X 控 件 - 图499第 10 章 创 建 A c tiv e X 控 件 - 图500

    持 代 码 小 型 化 经 验 告 诉 我 们 应 该 保 持 A c tiv e X 控 件 的 体 积 在 40K B 以下 通 常 用 户 不 想 下 载 庞 大 的 仅 能 用 于 对 页 面 图 形 作 动 画 处 理 的 控 件实 在 没 办 法 时 把 一 个 大 的 组 件 分 成 几 个 小 的 功 能 块 来 实 施

技 巧 还 可 以 像 第 8 章 讨 论 过 的 那 样 把 控 件 压 缩 进 C A B 文 件 也 能 够 减 少下 载 规 模

  • 第 10 章 创 建 A c tiv e X 控 件 - 图501第 10 章 创 建 A c tiv e X 控 件 - 图502第 10 章 创 建 A c tiv e X 控 件 - 图503第 10 章 创 建 A c tiv e X 控 件 - 图504第 10 章 创 建 A c tiv e X 控 件 - 图505第 10 章 创 建 A c tiv e X 控 件 - 图506第 10 章 创 建 A c tiv e X 控 件 - 图507第 10 章 创 建 A c tiv e X 控 件 - 图508第 10 章 创 建 A c tiv e X 控 件 - 图509使

    用 最 少 的 持 久 数 据 一 些 OC X 要 求 大 量 的 持 久 数 据 来 完 成 任 务 例 如你 可 能 会 把 一 个 电 子 表 格 控 件 粘 贴 到 窗 体 上 而 没 想 到 它 所 包 含 的 持 久 数据 的 数 量 A c tiv e X 控 件 没 有 这 般 奢 侈 因 为 你 不 能 对 客 户 机 有 太 多 的 假 设持 久 数 据 不 仅 增 加 装 入 时 间 和 内 存 需 求 而 且 扩 大 了 控 件 自 身 的 规 模

  • 第 10 章 创 建 A c tiv e X 控 件 - 图510第 10 章 创 建 A c tiv e X 控 件 - 图511第 10 章 创 建 A c tiv e X 控 件 - 图512第 10 章 创 建 A c tiv e X 控 件 - 图513第 10 章 创 建 A c tiv e X 控 件 - 图514第 10 章 创 建 A c tiv e X 控 件 - 图515第 10 章 创 建 A c tiv e X 控 件 - 图516第 10 章 创 建 A c tiv e X 控 件 - 图517第 10 章 创 建 A c tiv e X 控 件 - 图518第 10 章 创 建 A c tiv e X 控 件 - 图519第 10 章 创 建 A c tiv e X 控 件 - 图520

    功 能 特 色 限 制 在 最 低 限 度 众 多 的 功 能 的 确 能 为 屏 幕 演 示 增 光 添 彩 为本 地 机 器 编 写 OC X 时 几 个 额 外 特 色 不 会 增 加 什 么 问 题 事 实 上 如 果 不包 括 它 们 就 会 使 多 数 程 序 员 感 到 吃 惊 但 传 输 时 间 的 确 是 In te rn e t 的 一 大 问题 向 控 件 中 每 增 加 一 个 不 是 真 正 必 需 的 图 形 或 其 它 特 殊 声 音 效 果 都 要增 加 装 入 时 间 并 且 降 低 控 件 的 价 值 A c tiv e X 控 件 甚 至 不 能 假 定 一 些 特殊 效 果 是 否 能 够 在 客 户 机 上 正 确 工 作 第 10 章 创 建 A c tiv e X 控 件 - 图521 举 例 来 说 客 户 机 可 能 没 有 声 卡 第 10 章 创 建 A c tiv e X 控 件 - 图522

  • 第 10 章 创 建 A c tiv e X 控 件 - 图523第 10 章 创 建 A c tiv e X 控 件 - 图524第 10 章 创 建 A c tiv e X 控 件 - 图525第 10 章 创 建 A c tiv e X 控 件 - 图526第 10 章 创 建 A c tiv e X 控 件 - 图527

    能 单 一 是 关 键 建 库 的 原 始 动 机 之 一 是 用 容 易 访 问 的 形 式 存 贮 大 量预 编 译 过 的 函 数 调 用 作 为 OC X 的 前 辈 DL L 存 在 的 理 由 正 在 于 此 你 会

第 10 章 创 建 A c tiv e X 控 件 - 图528第 10 章 创 建 A c tiv e X 控 件 - 图529第 10 章 创 建 A c tiv e X 控 件 - 图530第 10 章 创 建 A c tiv e X 控 件 - 图531第 10 章 创 建 A c tiv e X 控 件 - 图532第 10 章 创 建 A c tiv e X 控 件 - 图533第 10 章 创 建 A c tiv e X 控 件 - 图534第 10 章 创 建 A c tiv e X 控 件 - 图535第 10 章 创 建 A c tiv e X 控 件 - 图536第 10 章 创 建 A c tiv e X 控 件 - 图537第 10 章 创 建 A c tiv e X 控 件 - 图538第 10 章 创 建 A c tiv e X 控 件 - 图539第 10 章 创 建 A c tiv e X 控 件 - 图540发 现 市 场 上 的 许 多 OC X 如 DL L 第 10 章 创 建 A c tiv e X 控 件 - 图541 都 不 止 包 含 一 个 对 象 如 按 钮 第 10 章 创 建 A c tiv e X 控 件 - 图542 事实 上 它 们 包 含 了 一 簇 对 象 这 一 策 略 对 于 桌 面 系 统 来 说 当 然 很 不 错 但 到了 In te rn e t 上 就 行 不 通 了 要 保 证 在 一 个 控 件 中 保 持 一 个 对 象 遵 循 这 样 的原 理 去 模 块 化 控 件 确 保 了 用 户 不 必 下 载 他 们 绝 对 需 要 功 能 以 外 的 东 西

注 释 本 章 中 还 将 对 对 象 进 行 相 当 多 的 讨 论 本 章 中 每 个 对 象 都 是 Windows 对 象 第 10 章 创 建 A c tiv e X 控 件 - 图543 或 C O M 使 用 的 特 殊 形 式 第 10 章 创 建 A c tiv e X 控 件 - 图544 一 些 C + + 程 序 员 可 能 认 为 Windows 对 象 就 是 C++ 对 象 因 为 C O M 使 用 一 种 特 殊 形 式 的 Windows 对 象这 些 程 序 员 就 认 为 使 用 手 边 的 C + + 对 象 写 O C X 不 会 出 问 题 越 过 真理 一 步 就 是 谬 误 尽 管 可 以 用 C + + 对 象 创 建 Windows 对 象 但 存 在 一些 限 制 本 章 篇 幅 不 足 以 全 面 讨 论 C++程 序 设 计 中 对 象 的 种 种 复 杂 性

第 10 章 创 建 A c tiv e X 控 件 - 图545第 10 章 创 建 A c tiv e X 控 件 - 图546第 10 章 创 建 A c tiv e X 控 件 - 图547第 10 章 创 建 A c tiv e X 控 件 - 图548第 10 章 创 建 A c tiv e X 控 件 - 图549第 10 章 创 建 A c tiv e X 控 件 - 图550第 10 章 创 建 A c tiv e X 控 件 - 图551第 10 章 创 建 A c tiv e X 控 件 - 图552第 10 章 创 建 A c tiv e X 控 件 - 图553第 10 章 创 建 A c tiv e X 控 件 - 图554第 10 章 创 建 A c tiv e X 控 件 - 图555第 10 章 创 建 A c tiv e X 控 件 - 图556─ ─ 这 个 题 目 一 些 作 者 要 用 一 章 或 两 章 的 篇 幅 来 作 综 述 性 讨 论 ─ ─ 但 是 了 解 一 下 对 于 用 C++写 OCX 时 能 做 些 什 么 以 及 应 做 些 什 么 有哪 些 限 制 都 是 很 重 要 的 最 好 按 照 本 章 例 子 中 的 方 法 去 写 O C X 这样 才 不 会 出 问 题

第 10 章 创 建 A c tiv e X 控 件 - 图557第 10 章 创 建 A c tiv e X 控 件 - 图558第 10 章 创 建 A c tiv e X 控 件 - 图559第 10 章 创 建 A c tiv e X 控 件 - 图560第 10 章 创 建 A c tiv e X 控 件 - 图561第 10 章 创 建 A c tiv e X 控 件 - 图562第 10 章 创 建 A c tiv e X 控 件 - 图563第 10 章 创 建 A c tiv e X 控 件 - 图564第 10 章 创 建 A c tiv e X 控 件 - 图565第 10 章 创 建 A c tiv e X 控 件 - 图566第 10 章 创 建 A c tiv e X 控 件 - 图567第 10 章 创 建 A c tiv e X 控 件 - 图568第 10 章 创 建 A c tiv e X 控 件 - 图569第 10 章 创 建 A c tiv e X 控 件 - 图570测 试 测 试 再 测 试 仅 仅 在 本 地 或 仅 仅 在 网 络 上 测 试 A c tiv e X 控 件 都 是 不够 的 应 该 使 用 不 同 的 连 接 在 多 种 情 况 下 进 行 测 试 本 章 最 后 会 看 到 三个 层 次 的 本 地 测 试 以 及 一 个 层 次 的 针 对 In te rn e t 的 测 试 可 能 你 想 再 加 进 几个 层 次 的 测 试 根 本 上 说 你 对 一 个 A c tiv e X 测 试 永 远 不 嫌 多 在 发 布控 件 之 前 测 试 它 是 重 要 的 但 在 出 问 题 后 一 定 要 去 查 出 缺 陷 所 以 要 使A c tiv e X 控 件 正 常 工 作 维 护 精 确 的 问 题 日 志 也 很 重 要 的 第 10 章 创 建 A c tiv e X 控 件 - 图571

编 写 代 码

第 10 章 创 建 A c tiv e X 控 件 - 图572现 在 到 了 看 一 下 简 单 编 码 示 例 的 时 候 了 本 章 使 用 M ic ros oft V is u a l C + + 6 . 0

第 10 章 创 建 A c tiv e X 控 件 - 图573第 10 章 创 建 A c tiv e X 控 件 - 图574第 10 章 创 建 A c tiv e X 控 件 - 图575第 10 章 创 建 A c tiv e X 控 件 - 图576第 10 章 创 建 A c tiv e X 控 件 - 图577第 10 章 创 建 A c tiv e X 控 件 - 图578第 10 章 创 建 A c tiv e X 控 件 - 图579第 10 章 创 建 A c tiv e X 控 件 - 图580第 10 章 创 建 A c tiv e X 控 件 - 图581第 10 章 创 建 A c tiv e X 控 件 - 图582第 10 章 创 建 A c tiv e X 控 件 - 图583第 10 章 创 建 A c tiv e X 控 件 - 图584第 10 章 创 建 A c tiv e X 控 件 - 图585第 10 章 创 建 A c tiv e X 控 件 - 图586尽 管 你 能 够 使 用 4 .2 以 上 版 本 第 10 章 创 建 A c tiv e X 控 件 - 图587 这 在 前 面 已 提 到 过 让 我 们 开 始 创 建 一 个 C+ + 新 工 程 但 是 与 你 创 建 过 的 其 它 工 程 不 一 样 现 在 要 用 M F C A c tiv e X C o n tro l W iz a rd M F C A c tiv e X 控 件 生 成 向 导 第 10 章 创 建 A c tiv e X 控 件 - 图588 来 创 建 工 作 区 现 在 开 始 吧 使 用 F lie文 件 第 10 章 创 建 A c tiv e X 控 件 - 图589 |N e w 新 建 第 10 章 创 建 A c tiv e X 控 件 - 图590 命 令 系 统 显 示 N e w 新 建 第 10 章 创 建 A c tiv e X 控 件 - 图591 对 话 框 选 择 P ro ject T a b

第 10 章 创 建 A c tiv e X 控 件 - 图592第 10 章 创 建 A c tiv e X 控 件 - 图593第 10 章 创 建 A c tiv e X 控 件 - 图594 工 程 页 第 10 章 创 建 A c tiv e X 控 件 - 图595 则 会 看 到 如 下 所 示 的 对 话 框

第 10 章 创 建 A c tiv e X 控 件 - 图596

第 10 章 创 建 A c tiv e X 控 件 - 图597第 10 章 创 建 A c tiv e X 控 件 - 图598第 10 章 创 建 A c tiv e X 控 件 - 图599第 10 章 创 建 A c tiv e X 控 件 - 图600第 10 章 创 建 A c tiv e X 控 件 - 图601第 10 章 创 建 A c tiv e X 控 件 - 图602该 对 话 框 中 的 M F C A c tiv e X C o n tro l W iz a rd M F C A c tiv e X 控 件 生 成 向 导 第 10 章 创 建 A c tiv e X 控 件 - 图603就 是 开 始 创 建 本 工 程 的 那 个 选 项 这 个 向 导 提 供 了 一 个 OC X 框 架 通 过 建 立 这个 框 架 来 创 建 本 例 的 最 后 版 本

注 释 本 例 中 我 使 用 了 新 的 Microsoft Developer Studio 第 10 章 创 建 A c tiv e X 控 件 - 图604 开 发 人 员 工 作室 第 10 章 创 建 A c tiv e X 控 件 - 图605 看 到 的 所 有 的 屏 幕 图 像 都 是 Windows 95 下 的 如 选 择 使 用 老的 界 面 你 的 屏 幕 图 像 就 会 与 这 儿 的 图 像 不 一 样 即 便 你 也 在 使 用Developer Studio 接 口 因 为 这 一 产 品 提 供 的 配 置 选 项 可 以 修 改 因 此 仍 可 能 产 生 一 些 小 的 差 别

第 10 章 创 建 A c tiv e X 控 件 - 图606第 10 章 创 建 A c tiv e X 控 件 - 图607第 10 章 创 建 A c tiv e X 控 件 - 图608第 10 章 创 建 A c tiv e X 控 件 - 图609第 10 章 创 建 A c tiv e X 控 件 - 图610第 10 章 创 建 A c tiv e X 控 件 - 图611第 10 章 创 建 A c tiv e X 控 件 - 图612第 10 章 创 建 A c tiv e X 控 件 - 图613第 10 章 创 建 A c tiv e X 控 件 - 图614第 10 章 创 建 A c tiv e X 控 件 - 图615第 10 章 创 建 A c tiv e X 控 件 - 图616第 10 章 创 建 A c tiv e X 控 件 - 图617第 10 章 创 建 A c tiv e X 控 件 - 图618第 10 章 创 建 A c tiv e X 控 件 - 图619第 10 章 创 建 A c tiv e X 控 件 - 图620工 程 开 始 时 在 P ro je c t N a m e 工 程 名 第 10 章 创 建 A c tiv e X 控 件 - 图621 域 中 键 入 工 程 名 本 例 用 OC XE x m p l 作 为 工 程 名 在 工 程 列 表 框 中 单 击 M F C A c tiv e X C o n tro l W iz a rd M F C A c tiv e X 控 件 生 成 向 导 第 10 章 创 建 A c tiv e X 控 件 - 图622 然 后 单 击 OK M ic ros oft V is u a l C + + 自 动 选 择 了 W in 3 2 选 项它 还 创 建 了 一 个 工 程 目 录

第 10 章 创 建 A c tiv e X 控 件 - 图623第 10 章 创 建 A c tiv e X 控 件 - 图624第 10 章 创 建 A c tiv e X 控 件 - 图625第 10 章 创 建 A c tiv e X 控 件 - 图626第 10 章 创 建 A c tiv e X 控 件 - 图627第 10 章 创 建 A c tiv e X 控 件 - 图628第 10 章 创 建 A c tiv e X 控 件 - 图629第 10 章 创 建 A c tiv e X 控 件 - 图630第 10 章 创 建 A c tiv e X 控 件 - 图631第 10 章 创 建 A c tiv e X 控 件 - 图632第 10 章 创 建 A c tiv e X 控 件 - 图633接 下 来 你 看 到 的 是 M F C A c tiv eX C o n tro l W izard M F C A c tiv e X 控 件 生 成 向导 第 10 章 创 建 A c tiv e X 控 件 - 图634 屏 幕 的 两 个 对 话 框 我 采 用 了 这 两 个 对 话 框 的 缺 省 设 置 但 对 第 二 个 对 话框 的 s ubc la s s 子 类 第 10 章 创 建 A c tiv e X 控 件 - 图635 域 作 了 选 择 如 果 你 也 想 创 建 像 这 个 例 子 一 样 的 控 件 那么 在 这 个 域 中 选 择 B U TTO N 类 否 则 可 以 浏 览 可 用 类 的 列 表 框 以 确 定 用 什么 作 为 你 的 控 件 的 基 础 还 要 注 意 到 V is u a l C

    • 允 许 创 建 自 己 的 基 类

第 10 章 创 建 A c tiv e X 控 件 - 图636第 10 章 创 建 A c tiv e X 控 件 - 图637第 10 章 创 建 A c tiv e X 控 件 - 图638第 10 章 创 建 A c tiv e X 控 件 - 图639在 第 二 个 向 导 屏 幕 上 单 击 F in is h 完 成 第 10 章 创 建 A c tiv e X 控 件 - 图640 按 钮 后 则 会 看 到 如 下 的 N e w P ro je c t In fo rm a tio n 新 工 程 信 息 第 10 章 创 建 A c tiv e X 控 件 - 图641 对 话 框

第 10 章 创 建 A c tiv e X 控 件 - 图642

第 10 章 创 建 A c tiv e X 控 件 - 图643第 10 章 创 建 A c tiv e X 控 件 - 图644第 10 章 创 建 A c tiv e X 控 件 - 图645第 10 章 创 建 A c tiv e X 控 件 - 图646第 10 章 创 建 A c tiv e X 控 件 - 图647第 10 章 创 建 A c tiv e X 控 件 - 图648第 10 章 创 建 A c tiv e X 控 件 - 图649浏 览 一 下 所 提 供 的 功 能 列 表 确 认 工 程 中 包 含 了 你 所 需 要 的 一 切 内 容 核对 工 程 建 立 无 误 后 单 击 OK 则 启 动 了 工 程 V is u a l C + + 将 使 硬 盘 转 动 一 会 儿然 后 就 会 看 到 工 程 框 架

修 改 缺 省 的 About 对 话 框

第 10 章 创 建 A c tiv e X 控 件 - 图650第 10 章 创 建 A c tiv e X 控 件 - 图651第 10 章 创 建 A c tiv e X 控 件 - 图652第 10 章 创 建 A c tiv e X 控 件 - 图653第 10 章 创 建 A c tiv e X 控 件 - 图654第 10 章 创 建 A c tiv e X 控 件 - 图655现 在 已 有 了 一 个 框 架 我 们 把 它 填 充 好 我 总 是 先 处 理 简 单 的 事 情 第 10 章 创 建 A c tiv e X 控 件 - 图656 谁 不是 这 样 呢 第 10 章 创 建 A c tiv e X 控 件 - 图657 首 先 修 改 A bout 对 话 框 V is u a l C + + 自 动 为 你 创 建 这 个 对 话 框

第 10 章 创 建 A c tiv e X 控 件 - 图658第 10 章 创 建 A c tiv e X 控 件 - 图659第 10 章 创 建 A c tiv e X 控 件 - 图660第 10 章 创 建 A c tiv e X 控 件 - 图661第 10 章 创 建 A c tiv e X 控 件 - 图662第 10 章 创 建 A c tiv e X 控 件 - 图663第 10 章 创 建 A c tiv e X 控 件 - 图664第 10 章 创 建 A c tiv e X 控 件 - 图665第 10 章 创 建 A c tiv e X 控 件 - 图666第 10 章 创 建 A c tiv e X 控 件 - 图667第 10 章 创 建 A c tiv e X 控 件 - 图668第 10 章 创 建 A c tiv e X 控 件 - 图669第 10 章 创 建 A c tiv e X 控 件 - 图670第 10 章 创 建 A c tiv e X 控 件 - 图671你 需 要 做 的 事 就 是 定 制 它 访 问 A bout 框 很 容 易 使 用 V ie w 视 图 第 10 章 创 建 A c tiv e X 控 件 - 图672 |R es o u rce S y m bo ls 资 源 符 号 第 10 章 创 建 A c tiv e X 控 件 - 图673 命 令 则 显 示 出 如 下 图 所 示 的 R e s ourc e S y m bo ls 资 源 符 号 第 10 章 创 建 A c tiv e X 控 件 - 图674对 话 框

选 择 IDD _ AB O U T B OX - O C XE XM P L 项 单 击 V ie w U s e 按 钮 显 示 该 对 话 框图 10 .1 显 示 了 修 改 示 例 中 A bout 对 话 框 的 一 种 方 法 也 许 你 想 把 版 权 信 息 以 及公 司 信 息 也 包 含 到 A bout 对 话 框 中 请 留 意 M ic ros oft 为 对 话 框 提 供 了 多 种 工 具其 中 之 一 是 定 制 控 件 按 钮 你 能 够 把 另 一 个 OC X 贴 到 A bout 对 话 框 或 其 它 你 创建 的 对 话 框 中

第 10 章 创 建 A c tiv e X 控 件 - 图675第 10 章 创 建 A c tiv e X 控 件 - 图676第 10 章 创 建 A c tiv e X 控 件 - 图677第 10 章 创 建 A c tiv e X 控 件 - 图678第 10 章 创 建 A c tiv e X 控 件 - 图679第 10 章 创 建 A c tiv e X 控 件 - 图680第 10 章 创 建 A c tiv e X 控 件 - 图681第 10 章 创 建 A c tiv e X 控 件 - 图682第 10 章 创 建 A c tiv e X 控 件 - 图683第 10 章 创 建 A c tiv e X 控 件 - 图684第 10 章 创 建 A c tiv e X 控 件 - 图685第 10 章 创 建 A c tiv e X 控 件 - 图686第 10 章 创 建 A c tiv e X 控 件 - 图687第 10 章 创 建 A c tiv e X 控 件 - 图688第 10 章 创 建 A c tiv e X 控 件 - 图689第 10 章 创 建 A c tiv e X 控 件 - 图690技 巧 用 右 键 单 击 一 个 控 件 然 后 从 上 下 文 相 关 菜 单 中 选 择 Properties 属性 第 10 章 创 建 A c tiv e X 控 件 - 图691 于 是 Properties 属 性 第 10 章 创 建 A c tiv e X 控 件 - 图692 对 话 框 显 示 出 来 通 过 改 变 Properties 第 10 章 创 建 A c tiv e X 控 件 - 图693属 性 第 10 章 创 建 A c tiv e X 控 件 - 图694 对 话 框 中 General 第 10 章 创 建 A c tiv e X 控 件 - 图695 普 通 的 第 10 章 创 建 A c tiv e X 控 件 - 图696 属 性 页 上 的 Caption 第 10 章 创 建 A c tiv e X 控 件 - 图697 标 题 第 10 章 创 建 A c tiv e X 控 件 - 图698 属 性 可 以 改 变 静 态 文 本 控 件 的 文 本 用 右 键 单 击 Visual C++ 的 大部 分 对 象 都 会 显 示 一 个 上 下 文 相 关 菜 单 ─ ─ 大 部 分 这 样 的 菜 单 中 都包 含 Properties 第 10 章 创 建 A c tiv e X 控 件 - 图699 属 性 第 10 章 创 建 A c tiv e X 控 件 - 图700 选 项 用 右 键 单 击 Visual C++中 某 个 对 象的 目 的 就 在 于 让 你 看 到 能 够 对 这 个 特 定 对 象 做 些 什 么 请 记 住 对象 不 仅 仅 指 控 件 它 也 可 以 是 代 码 行 工 具 栏 甚 至 可 以 是 各 种 窗 口

第 10 章 创 建 A c tiv e X 控 件 - 图701第 10 章 创 建 A c tiv e X 控 件 - 图702第 10 章 创 建 A c tiv e X 控 件 - 图703第 10 章 创 建 A c tiv e X 控 件 - 图704第 10 章 创 建 A c tiv e X 控 件 - 图705第 10 章 创 建 A c tiv e X 控 件 - 图706第 10 章 创 建 A c tiv e X 控 件 - 图707第 10 章 创 建 A c tiv e X 控 件 - 图708第 10 章 创 建 A c tiv e X 控 件 - 图709V is u a l C + + 的 最 新 版 本 可 能 要 求 你 对 A bout 对 话 框 做 一 些 过 去 不 必 做 的 事你 可 能 需 要 为 A bout 对 话 框 创 建 一 个 类 ─ ─ V is u a l C + + 的 老 版 本 只 是 假 定 你 会创 建 新 类 双 击 A bout 对 话 框 则 看 到 A dd ing a C la s s 添 加 类 第 10 章 创 建 A c tiv e X 控 件 - 图710 对 话 框 如 下图 所 示 若 没 看 到 该 对 话 框 则 说 明 已 有 一 个 类 赋 给 了 A bout 对 话 框 你 不 必再 往 下 继 续 做 了 第 10 章 创 建 A c tiv e X 控 件 - 图711

第 10 章 创 建 A c tiv e X 控 件 - 图712

第 10 章 创 建 A c tiv e X 控 件 - 图713图 10 .1 该对 话框 编辑 器看起 来和 V isu a l B a sic 的一 样 区别 在于你必 须在 主编 辑器屏 幕中 单独 访问它

第 10 章 创 建 A c tiv e X 控 件 - 图714

第 10 章 创 建 A c tiv e X 控 件 - 图715第 10 章 创 建 A c tiv e X 控 件 - 图716第 10 章 创 建 A c tiv e X 控 件 - 图717第 10 章 创 建 A c tiv e X 控 件 - 图718第 10 章 创 建 A c tiv e X 控 件 - 图719选 择 C reat a N e w C las s 创 建 新 类 第 10 章 创 建 A c tiv e X 控 件 - 图720 选 项 单 击 OK V is u a l C + + 则 显 示 如下 的 N e w C la s s 新 类 第 10 章 创 建 A c tiv e X 控 件 - 图721 对 话 框

第 10 章 创 建 A c tiv e X 控 件 - 图722

第 10 章 创 建 A c tiv e X 控 件 - 图723第 10 章 创 建 A c tiv e X 控 件 - 图724第 10 章 创 建 A c tiv e X 控 件 - 图725第 10 章 创 建 A c tiv e X 控 件 - 图726第 10 章 创 建 A c tiv e X 控 件 - 图727第 10 章 创 建 A c tiv e X 控 件 - 图728第 10 章 创 建 A c tiv e X 控 件 - 图729第 10 章 创 建 A c tiv e X 控 件 - 图730第 10 章 创 建 A c tiv e X 控 件 - 图731第 10 章 创 建 A c tiv e X 控 件 - 图732第 10 章 创 建 A c tiv e X 控 件 - 图733我 们 这 儿 用 C A bou tB o x 作 为 类 名 把 它 键 入 到 N a me 第 10 章 创 建 A c tiv e X 控 件 - 图734 名 称 第 10 章 创 建 A c tiv e X 控 件 - 图735 域 这 时 这个 例 子 所 需 的 一 切 都 准 备 好 了 单 击 OK 则 创 建 所 需 的 类 这 时 就 会 看 到在 M F C C la s s W iz a rd 类 向 导 第 10 章 创 建 A c tiv e X 控 件 - 图736 对 话 框 中 出 现 了 一 个 新 项 如 下 图 所 示 如 果屏 幕 显 示 不 是 这 样 那 么 选 一 下 C la ssIn fo 选 项 卡 即 可 第 10 章 创 建 A c tiv e X 控 件 - 图737

第 10 章 创 建 A c tiv e X 控 件 - 图738

第 10 章 创 建 A c tiv e X 控 件 - 图739第 10 章 创 建 A c tiv e X 控 件 - 图740第 10 章 创 建 A c tiv e X 控 件 - 图741第 10 章 创 建 A c tiv e X 控 件 - 图742第 10 章 创 建 A c tiv e X 控 件 - 图743第 10 章 创 建 A c tiv e X 控 件 - 图744第 10 章 创 建 A c tiv e X 控 件 - 图745第 10 章 创 建 A c tiv e X 控 件 - 图746这 个 对 话 框 把 新 类 的 有 关 信 息 都 显 示 出 来 H ead e r 头 文 件 第 10 章 创 建 A c tiv e X 控 件 - 图747 及 S ourc e 源码 第 10 章 创 建 A c tiv e X 控 件 - 图748 两 项 是 与 这 个 类 相 关 的 文 件 的 存 放 位 置 你 还 会 看 到 这 个 类 的 对 话 框 资源 是 IDD _ AB O U T B OX _ OC XE XM P L 单 击 OK 关 闭 M F C C la s s W iz a rd ( 类 向导 第 10 章 创 建 A c tiv e X 控 件 - 图749 对 话 框

添 加 属 性 及 事 件

第 10 章 创 建 A c tiv e X 控 件 - 图750第 10 章 创 建 A c tiv e X 控 件 - 图751第 10 章 创 建 A c tiv e X 控 件 - 图752第 10 章 创 建 A c tiv e X 控 件 - 图753第 10 章 创 建 A c tiv e X 控 件 - 图754第 10 章 创 建 A c tiv e X 控 件 - 图755第 10 章 创 建 A c tiv e X 控 件 - 图756第 10 章 创 建 A c tiv e X 控 件 - 图757第 10 章 创 建 A c tiv e X 控 件 - 图758第 10 章 创 建 A c tiv e X 控 件 - 图759第 10 章 创 建 A c tiv e X 控 件 - 图760第 10 章 创 建 A c tiv e X 控 件 - 图761第 10 章 创 建 A c tiv e X 控 件 - 图762第 10 章 创 建 A c tiv e X 控 件 - 图763第 10 章 创 建 A c tiv e X 控 件 - 图764第 10 章 创 建 A c tiv e X 控 件 - 图765第 10 章 创 建 A c tiv e X 控 件 - 图766第 10 章 创 建 A c tiv e X 控 件 - 图767第 10 章 创 建 A c tiv e X 控 件 - 图768第 10 章 创 建 A c tiv e X 控 件 - 图769第 10 章 创 建 A c tiv e X 控 件 - 图770第 10 章 创 建 A c tiv e X 控 件 - 图771定 制 对 话 框 的 工 作 很 有 趣 现 在 就 让 我 们 继 续 创 建 OC X 吧 首 先 要 完 成 的工 作 是 使 按 钮 控 件 的 某 些 属 性 和 事 件 让 使 用 该 OC X 控 件 的 人 能 够 访 问 即 可见 第 10 章 创 建 A c tiv e X 控 件 - 图772 例 如 在 用 户 单 击 按 钮 时 要 能 检 测 到 这 个 事 件 肯 定 你 想 改 变 缺 省 的 属性 如 按 钮 正 面 上 显 示 的 标 题 等 第 一 次 创 建 这 个 按 钮 时 没 有 多 少 属 性 是 可见 的 为 了 使 这 些 元 素 成 为 可 见 状 态 需 要 使 用 C las s W izard 类 向 导 第 10 章 创 建 A c tiv e X 控 件 - 图773 使 用V ie w 视 图 第 10 章 创 建 A c tiv e X 控 件 - 图774 |C la s s W izard 类 向 导 第 10 章 创 建 A c tiv e X 控 件 - 图775 命 令 系 统 显 示 M F C C la s s W iz a rd 类向 导 第 10 章 创 建 A c tiv e X 控 件 - 图776 对 话 框 选 取 A u to m a tio n 自 动 化 第 10 章 创 建 A c tiv e X 控 件 - 图777 这 一 页 然 后 在 C la ss N a m e 类 名 第 10 章 创 建 A c tiv e X 控 件 - 图778域 选 择 OC XE x m p l C tr l

第 10 章 创 建 A c tiv e X 控 件 - 图779第 10 章 创 建 A c tiv e X 控 件 - 图780注 Visual C++ 对 你 创 建 的 控 件 作 的 假 设 非 常 少 甚 至 于 使 用 什 么 属 性 和方 法 使 控 件 可 见 也 不 做 任 何 假 定

第 10 章 创 建 A c tiv e X 控 件 - 图781第 10 章 创 建 A c tiv e X 控 件 - 图782第 10 章 创 建 A c tiv e X 控 件 - 图783第 10 章 创 建 A c tiv e X 控 件 - 图784第 10 章 创 建 A c tiv e X 控 件 - 图785第 10 章 创 建 A c tiv e X 控 件 - 图786第 10 章 创 建 A c tiv e X 控 件 - 图787第 10 章 创 建 A c tiv e X 控 件 - 图788第 10 章 创 建 A c tiv e X 控 件 - 图789第 10 章 创 建 A c tiv e X 控 件 - 图790第 10 章 创 建 A c tiv e X 控 件 - 图791第 10 章 创 建 A c tiv e X 控 件 - 图792第 10 章 创 建 A c tiv e X 控 件 - 图793第 10 章 创 建 A c tiv e X 控 件 - 图794第 10 章 创 建 A c tiv e X 控 件 - 图795第 10 章 创 建 A c tiv e X 控 件 - 图796在 这 个 例 子 中 使 用 了 两 类 不 同 的 属 性 实 际 上 M ic ros oft 提 供 了 许 多 供 你使 用 的 属 性 第 10 章 创 建 A c tiv e X 控 件 - 图797 第 一 种 是 常 备 (S to c k ) 属 性 你 会 发 现 第 一 次 创 建 OC X 时 就连 我 们 都 认 为 是 理 所 当 然 的 C a p tio n 标 题 第 10 章 创 建 A c tiv e X 控 件 - 图798 属 性 等 等 一 类 事 物 都 是 不 可 见 的常 备 属 性 在 图 10 .2 中 用 S 表 示 第 10 章 创 建 A c tiv e X 控 件 - 图799 是 由 父 类 缺 省 支 持 的 一 种 属 性 另 一 种 是 定制 属 性 在 图 10 .2 中 用 C 表 示 第 10 章 创 建 A c tiv e X 控 件 - 图800 定 制 属 性 是 把 一 个 特 定 类 作 为 子 类 时 你 向 它添 加 的 属 性 其 中 之 一 是 我 们 将 用 于 创 建 一 个 O n O ff 控 件 的 O n O f f 属 性 本 章下 面 来 讨 论 做 这 些 事 的 过 程 图 10 .2 显 示 了 创 建 我 们 例 子 时 所 有 属 性 的 完 整 列表

第 10 章 创 建 A c tiv e X 控 件 - 图801第 10 章 创 建 A c tiv e X 控 件 - 图802注 常 备 属 性 是 基 类 的 一 部 分 定 制 属 性 是 把 控 件 作 成 子 类 时 创 建 的 属 性

第 10 章 创 建 A c tiv e X 控 件 - 图803

第 10 章 创 建 A c tiv e X 控 件 - 图804图 10 .2 M F C C la s s W iz a rd 类向 导 第 10 章 创 建 A c tiv e X 控 件 - 图805 使 属性及 事件 对 OC X 用 户 成为 可见 状态

第 10 章 创 建 A c tiv e X 控 件 - 图806第 10 章 创 建 A c tiv e X 控 件 - 图807第 10 章 创 建 A c tiv e X 控 件 - 图808创 建 新 属 性 的 过 程 很 简 单 只 要 单 击 一 个 A dd P rope r ty 添 加 属 性 第 10 章 创 建 A c tiv e X 控 件 - 图809 按 钮 就可 以 显 示 出 下 图 所 示 的 A dd P ro p e r ty 对 话 框

第 10 章 创 建 A c tiv e X 控 件 - 图810

第 10 章 创 建 A c tiv e X 控 件 - 图811第 10 章 创 建 A c tiv e X 控 件 - 图812第 10 章 创 建 A c tiv e X 控 件 - 图813第 10 章 创 建 A c tiv e X 控 件 - 图814第 10 章 创 建 A c tiv e X 控 件 - 图815第 10 章 创 建 A c tiv e X 控 件 - 图816第 10 章 创 建 A c tiv e X 控 件 - 图817第 10 章 创 建 A c tiv e X 控 件 - 图818第 10 章 创 建 A c tiv e X 控 件 - 图819第 10 章 创 建 A c tiv e X 控 件 - 图820A dd P rope r ty 添 加 属 性 第 10 章 创 建 A c tiv e X 控 件 - 图821 对 话 框 中 包 含 一 些 以 前 我 们 未 曾 见 到 过 的 重 要 特性 Ex te rn a l N a m e 组 合 框 包 含 了 创 建 OC X 时 选 择 的 基 类 的 全 部 缺 省 属 性在 我 们 的 例 子 中 就 可 见 到 C a p tio n 属 性 等 为 了 创 建 常 备 属 性 从 这 个 列 表中 选 一 项 并 单 击 OK 即 可 V is u a l C + + 将 处 理 细 节 现 在 接 着 创 建 出 本 例 子 程序 中 的 全 部 常 备 属 性 参 见 图 10 .2 第 10 章 创 建 A c tiv e X 控 件 - 图822

第 10 章 创 建 A c tiv e X 控 件 - 图823第 10 章 创 建 A c tiv e X 控 件 - 图824第 10 章 创 建 A c tiv e X 控 件 - 图825第 10 章 创 建 A c tiv e X 控 件 - 图826第 10 章 创 建 A c tiv e X 控 件 - 图827第 10 章 创 建 A c tiv e X 控 件 - 图828第 10 章 创 建 A c tiv e X 控 件 - 图829第 10 章 创 建 A c tiv e X 控 件 - 图830第 10 章 创 建 A c tiv e X 控 件 - 图831第 10 章 创 建 A c tiv e X 控 件 - 图832第 10 章 创 建 A c tiv e X 控 件 - 图833第 10 章 创 建 A c tiv e X 控 件 - 图834第 10 章 创 建 A c tiv e X 控 件 - 图835我 们 还 需 要 三 个 定 制 属 性 M oda l R e s u lt O n O ff 及 S tdB u ttonT y p e 为 了 创建 它 们 把 它 们 键 入 到 刚 才 提 到 的 Ex te rn a l N a m e 外 部 名 称 第 10 章 创 建 A c tiv e X 控 件 - 图836 域 中 然 后 需 要在 T y p e 类 型 第 10 章 创 建 A c tiv e X 控 件 - 图837 字 段 中 为 它 们 选 择 数 据 类 型 在 我 们 例 子 中 M oda l R e s u lt 和S tdB u ttonT y p e 属 性 是 long 型 而 O n O ff 是 B OOL 型 在 这 里 你 可 能 要 先

第 10 章 创 建 A c tiv e X 控 件 - 图838第 10 章 创 建 A c tiv e X 控 件 - 图839第 10 章 创 建 A c tiv e X 控 件 - 图840第 10 章 创 建 A c tiv e X 控 件 - 图841第 10 章 创 建 A c tiv e X 控 件 - 图842关 闭 M F C C la s s W iz a rd 类 向 导 第 10 章 创 建 A c tiv e X 控 件 - 图843 对 话 框 然 后 再 打 开 它 否 则 在 有 些 时 候你 选 择 的 属 性 可 能 没 记 录 下 来 第 10 章 创 建 A c tiv e X 控 件 - 图844

第 10 章 创 建 A c tiv e X 控 件 - 图845第 10 章 创 建 A c tiv e X 控 件 - 图846第 10 章 创 建 A c tiv e X 控 件 - 图847第 10 章 创 建 A c tiv e X 控 件 - 图848第 10 章 创 建 A c tiv e X 控 件 - 图849第 10 章 创 建 A c tiv e X 控 件 - 图850第 10 章 创 建 A c tiv e X 控 件 - 图851第 10 章 创 建 A c tiv e X 控 件 - 图852第 10 章 创 建 A c tiv e X 控 件 - 图853第 10 章 创 建 A c tiv e X 控 件 - 图854第 10 章 创 建 A c tiv e X 控 件 - 图855第 10 章 创 建 A c tiv e X 控 件 - 图856第 10 章 创 建 A c tiv e X 控 件 - 图857这 个 例 子 中 我 们 使 用 的 事 件 都 是 常 备 的 他 们 来 自 于 按 钮 基 类 的 一 部 分 要 做 的 是 单 击 A c tiv e X E v e n ts 事 件 第 10 章 创 建 A c tiv e X 控 件 - 图858 页 系 统 显 示 如 图 10 .3 所 示 添 加 常 备事 件 的 做 法 与 添 加 一 个 常 备 属 性 的 方 法 一 样 只 需 单 击 A dd E v e n t 添 加 事 件 第 10 章 创 建 A c tiv e X 控 件 - 图859按 钮 显 示 出 A dd E v e n t 添 加 事 件 第 10 章 创 建 A c tiv e X 控 件 - 图860 对 话 框 从 Ex te n a l N a m e 外 部 名 称 第 10 章 创 建 A c tiv e X 控 件 - 图861 组 合框 中 选 取 一 个 常 备 的 名 称 然 后 单 击 OK 即 可 图 10 .3 显 示 了 需 要 为 这 个 例 子选 择 的 全 部 常 备 事 件

定 义 属 性 页

第 10 章 创 建 A c tiv e X 控 件 - 图862第 10 章 创 建 A c tiv e X 控 件 - 图863第 10 章 创 建 A c tiv e X 控 件 - 图864第 10 章 创 建 A c tiv e X 控 件 - 图865第 10 章 创 建 A c tiv e X 控 件 - 图866第 10 章 创 建 A c tiv e X 控 件 - 图867第 10 章 创 建 A c tiv e X 控 件 - 图868第 10 章 创 建 A c tiv e X 控 件 - 图869第 10 章 创 建 A c tiv e X 控 件 - 图870现 在 该 向 属 性 页 中 添 加 一 些 功 能 了 访 问 属 性 页 的 方 法 与 访 问 A bout 对 话框 的 方 法 相 同 就 是 使 用 V ie w 视 图 第 10 章 创 建 A c tiv e X 控 件 - 图871 |R es o u rce S y m b o ls 资 源 符 号 第 10 章 创 建 A c tiv e X 控 件 - 图872 命 令在 R e s o u rce S y m b o ls 资 源 符 号 第 10 章 创 建 A c tiv e X 控 件 - 图873 对 话 框 选 择 IDD _ P R OP P AGE _ O C X E X M P L 项 属 性 页 用 途 广 泛 其 中 绝 大 多 数 是 面 向 配 置 的

第 10 章 创 建 A c tiv e X 控 件 - 图874第 10 章 创 建 A c tiv e X 控 件 - 图875第 10 章 创 建 A c tiv e X 控 件 - 图876第 10 章 创 建 A c tiv e X 控 件 - 图877第 10 章 创 建 A c tiv e X 控 件 - 图878第 10 章 创 建 A c tiv e X 控 件 - 图879第 10 章 创 建 A c tiv e X 控 件 - 图880第 10 章 创 建 A c tiv e X 控 件 - 图881第 10 章 创 建 A c tiv e X 控 件 - 图882第 10 章 创 建 A c tiv e X 控 件 - 图883V is u a l C + + 支 持 两 种 标 准 规 格 的 属 性 页 OC X 的 缺 省 选 择 是 250 62 的 小号 规 格 这 种 规 格 对 我 们 的 目 的 说 来 太 小 了 所 以 需 要 把 它 变 成 250 110 的 大号 属 性 页 创 建 一 个 控 件 时 一 定 要 确 定 用 这 一 种 还 是 另 一 种 你 不 用 标 准 尺 寸时 也 不 会 发 生 什 么 坏 事 但 用 户 可 能 会 收 到 警 告 信 息 说 你 没 使 用 标 准 尺 寸 的属 性 页

第 10 章 创 建 A c tiv e X 控 件 - 图884

图 10 .3 A c t iv e X 事件 页显 示了 在我们 的 OC X 程 序 例 子 中 要 添 加的全 部常 备事件

第 10 章 创 建 A c tiv e X 控 件 - 图885第 10 章 创 建 A c tiv e X 控 件 - 图886第 10 章 创 建 A c tiv e X 控 件 - 图887第 10 章 创 建 A c tiv e X 控 件 - 图888第 10 章 创 建 A c tiv e X 控 件 - 图889第 10 章 创 建 A c tiv e X 控 件 - 图890第 10 章 创 建 A c tiv e X 控 件 - 图891第 10 章 创 建 A c tiv e X 控 件 - 图892第 10 章 创 建 A c tiv e X 控 件 - 图893第 10 章 创 建 A c tiv e X 控 件 - 图894第 10 章 创 建 A c tiv e X 控 件 - 图895现 在 要 完 成 的 工 作 是 为 向 页 中 定 义 标 准 的 按 钮 类 型 来 添 加 一 种 方 法 如图 10 .4 所 示 它 们 是 单 选 按 钮 你 需 要 10 个 按 钮 现 在 不 必 担 心 如 何 配 置 它们 下 述 段 落 中 会 进 行 讲 解 第 10 章 创 建 A c tiv e X 控 件 - 图896 每 个 单 选 按 钮 应 有 不 同 的 ID 以 便 于 能 检 测 出用 户 单 击 的 是 哪 一 个 参 见 R a d io B u tton P rope r tie s 单 选 按 钮 属 性 第 10 章 创 建 A c tiv e X 控 件 - 图897 对 话 框

第 10 章 创 建 A c tiv e X 控 件 - 图898中 G e n e ra l 页 上 的 ID 域 第 10 章 创 建 A c tiv e X 控 件 - 图899

第 10 章 创 建 A c tiv e X 控 件 - 图900

第 10 章 创 建 A c tiv e X 控 件 - 图901图 10 .4 P ro p e r ty P a g e 属性 页 第 10 章 创 建 A c tiv e X 控 件 - 图902 对 话框允 许用 户创 建除 on /o f f 按钮 之外 的标 准按钮 类型

第 10 章 创 建 A c tiv e X 控 件 - 图903第 10 章 创 建 A c tiv e X 控 件 - 图904第 10 章 创 建 A c tiv e X 控 件 - 图905第 10 章 创 建 A c tiv e X 控 件 - 图906第 10 章 创 建 A c tiv e X 控 件 - 图907第 10 章 创 建 A c tiv e X 控 件 - 图908第 10 章 创 建 A c tiv e X 控 件 - 图909属 性 页 上 已 有 了 10 个 标 准 的 单 选 按 钮 现 在 让 它 们 完 成 一 些 任 务 用 右 键单 击 其 中 一 个 单 选 按 钮 从 上 下 文 菜 单 中 选 择 P rope r tie s 属 性 第 10 章 创 建 A c tiv e X 控 件 - 图910系 统 显 示 R a d io B u tto n P rope r t ie s 单 选 按 钮 属 性 第 10 章 创 建 A c tiv e X 控 件 - 图911 对 话 框 如 下 图 所 示

第 10 章 创 建 A c tiv e X 控 件 - 图912

第 10 章 创 建 A c tiv e X 控 件 - 图913第 10 章 创 建 A c tiv e X 控 件 - 图914第 10 章 创 建 A c tiv e X 控 件 - 图915第 10 章 创 建 A c tiv e X 控 件 - 图916第 10 章 创 建 A c tiv e X 控 件 - 图917第 10 章 创 建 A c tiv e X 控 件 - 图918第 10 章 创 建 A c tiv e X 控 件 - 图919第 10 章 创 建 A c tiv e X 控 件 - 图920第 10 章 创 建 A c tiv e X 控 件 - 图921第 10 章 创 建 A c tiv e X 控 件 - 图922第 10 章 创 建 A c tiv e X 控 件 - 图923第 10 章 创 建 A c tiv e X 控 件 - 图924第 10 章 创 建 A c tiv e X 控 件 - 图925第 10 章 创 建 A c tiv e X 控 件 - 图926第 10 章 创 建 A c tiv e X 控 件 - 图927第 10 章 创 建 A c tiv e X 控 件 - 图928第 10 章 创 建 A c tiv e X 控 件 - 图929第 10 章 创 建 A c tiv e X 控 件 - 图930第 10 章 创 建 A c tiv e X 控 件 - 图931第 10 章 创 建 A c tiv e X 控 件 - 图932第 10 章 创 建 A c tiv e X 控 件 - 图933第 10 章 创 建 A c tiv e X 控 件 - 图934第 10 章 创 建 A c tiv e X 控 件 - 图935第 10 章 创 建 A c tiv e X 控 件 - 图936第 10 章 创 建 A c tiv e X 控 件 - 图937第 10 章 创 建 A c tiv e X 控 件 - 图938第 10 章 创 建 A c tiv e X 控 件 - 图939第 10 章 创 建 A c tiv e X 控 件 - 图940第 10 章 创 建 A c tiv e X 控 件 - 图941为 了 使 单 选 按 钮 看 起 来 与 如 图 10 .4 所 示 的 外 观 相 同 要 对 它 们 作 些 小 的 改动 首 先 在 R a d io B u tton P rope r tie s 单 选 按 钮 属 性 第 10 章 创 建 A c tiv e X 控 件 - 图942 对 话 框 选 择 S ty le 风 格 第 10 章 创 建 A c tiv e X 控 件 - 图943页 并 为 每 个 按 钮 选 中 P u s h - lik e 复 选 框 还 需 把 这 些 单 选 按 钮 放 入 一 个 组 使得 当 你 选 择 一 个 新 按 钮 时 当 前 选 择 能 消 除 掉 为 了 完 成 这 个 任 务 先 对 使 用ID C _ R AD IO1 缺 省 ID 的 组 中 的 第 一 个 单 选 按 钮 复 选 G roup 及 Ta b s to p 复 选 框而 对 该 组 中 第 10 章 创 建 A c tiv e X 控 件 - 图944 其 它 的 单 选 按 钮 都 只 复 选 Ta b s to p 复 选 框 否 则 最 后 得 到 的是 每 组 只 有 一 个 按 钮 的 10 个 组 而 不 是 有 10 个 按 钮 的 一 个 组 V is u a l C + + 把 它看 到 的 第 一 个 选 择 了 G roup 复 选 框 的 按 钮 作 为 组 的 起 点 顺 序 下 去 在 V is u a l C+ + 看 到 选 择 了 G roup 复 选 框 的 下 一 个 按 钮 之 前 所 有 按 钮 都 归 为 这 一 个 组

技 巧 大 多 数 Microsoft 产 品 推 荐 使 用 尺 寸 为 2 5 0 62 或 250 110 对 话 框单 元 的 属 性 页 但 你 可 以 按 照 需 要 使 用 任 意 尺 寸 的 属 性 页 , 当 你 试 图访 问 这 个 属 性 页 时 你 就 会 看 到 一 条 消 息 说 你 没 使 用 标 准 尺 寸 清除 这 一 消 息 则 属 性 按 通 常 那 样 显 示 出 来

第 10 章 创 建 A c tiv e X 控 件 - 图945第 10 章 创 建 A c tiv e X 控 件 - 图946第 10 章 创 建 A c tiv e X 控 件 - 图947第 10 章 创 建 A c tiv e X 控 件 - 图948第 10 章 创 建 A c tiv e X 控 件 - 图949第 10 章 创 建 A c tiv e X 控 件 - 图950第 10 章 创 建 A c tiv e X 控 件 - 图951第 10 章 创 建 A c tiv e X 控 件 - 图952在 这 个 对 话 框 中 我 们 要 对 单 选 按 钮 再 做 一 件 事 为 了 在 单 选 按 钮 和 OC X 控件 之 间 建 立 OL E 连 接 要 对 它 们 的 输 出 赋 以 OL E 属 性 按 下 CT RL 键 并 双 击该 组 中 第 一 个 单 选 按 钮 ( N one ) 系 统 显 示 A dd M e m b e r V a r ia b le 添 加 成 员 变 量 第 10 章 创 建 A c tiv e X 控 件 - 图953对 话 框 如 下 图 所 示

第 10 章 创 建 A c tiv e X 控 件 - 图954

技 巧 键 入 CTRL-W 显 示 MFC ClassW izard 对 话 框 选 择 Member Var iable 第 10 章 创 建 A c tiv e X 控 件 - 图955成 员 变 量 第 10 章 创 建 A c tiv e X 控 件 - 图956 页 再 单 击 Add Variable 第 10 章 创 建 A c tiv e X 控 件 - 图957 添 加 变 量 第 10 章 创 建 A c tiv e X 控 件 - 图958 按 钮 也 可 以访 问 这 个 对 话 框

第 10 章 创 建 A c tiv e X 控 件 - 图959第 10 章 创 建 A c tiv e X 控 件 - 图960第 10 章 创 建 A c tiv e X 控 件 - 图961第 10 章 创 建 A c tiv e X 控 件 - 图962第 10 章 创 建 A c tiv e X 控 件 - 图963这 儿 定 制 的 各 个 项 目 都 是 十 分 关 键 的 原 因 在 于 V is u a l C

    • 不 检 查 它 们 的

第 10 章 创 建 A c tiv e X 控 件 - 图964第 10 章 创 建 A c tiv e X 控 件 - 图965第 10 章 创 建 A c tiv e X 控 件 - 图966第 10 章 创 建 A c tiv e X 控 件 - 图967第 10 章 创 建 A c tiv e X 控 件 - 图968第 10 章 创 建 A c tiv e X 控 件 - 图969第 10 章 创 建 A c tiv e X 控 件 - 图970第 10 章 创 建 A c tiv e X 控 件 - 图971第 10 章 创 建 A c tiv e X 控 件 - 图972第 10 章 创 建 A c tiv e X 控 件 - 图973第 10 章 创 建 A c tiv e X 控 件 - 图974第 10 章 创 建 A c tiv e X 控 件 - 图975第 10 章 创 建 A c tiv e X 控 件 - 图976第 10 章 创 建 A c tiv e X 控 件 - 图977对 错 并 且 也 不 能 从 列 表 中 选 择 它 们 在 M e m b e r V a r ia b le N a me 第 10 章 创 建 A c tiv e X 控 件 - 图978 成 员 变 量 名 第 10 章 创 建 A c tiv e X 控 件 - 图979域 键 入 m _ s td B u tto r T y p e 这 是 前 面 我 们 创 建 的 定 制 属 性 之 一 的 内 部 名 称 保持 C a te gor y 范 畴 第 10 章 创 建 A c tiv e X 控 件 - 图980 域 及 V a r ia b le T y p e 变 量 类 型 第 10 章 创 建 A c tiv e X 控 件 - 图981 域 不 变 在 O p tiona l P rope r ty N a m e 可 选 属 性 名 称 第 10 章 创 建 A c tiv e X 控 件 - 图982 域 中 键 入 S tdB u tto n T y p e 这 是 把 属 性 页 链 接 到 你 的OC X 控 件 的 一 个 项 记 住 C+ + 是 区 分 大 小 写 的 所 以 大 写 很 重 要

技 巧 Optional Property Name 第 10 章 创 建 A c tiv e X 控 件 - 图983 可 选 属 性 名 称 第 10 章 创 建 A c tiv e X 控 件 - 图984 域 的 下 拉 列 表 中 通 常 包含 了 从 控 件 基 类 继 承 来 的 属 性 的 完 整 列 表

第 10 章 创 建 A c tiv e X 控 件 - 图985添 加 代 码

第 10 章 创 建 A c tiv e X 控 件 - 图986第 10 章 创 建 A c tiv e X 控 件 - 图987第 10 章 创 建 A c tiv e X 控 件 - 图988第 10 章 创 建 A c tiv e X 控 件 - 图989第 10 章 创 建 A c tiv e X 控 件 - 图990第 10 章 创 建 A c tiv e X 控 件 - 图991第 10 章 创 建 A c tiv e X 控 件 - 图992第 10 章 创 建 A c tiv e X 控 件 - 图993第 10 章 创 建 A c tiv e X 控 件 - 图994第 10 章 创 建 A c tiv e X 控 件 - 图995第 10 章 创 建 A c tiv e X 控 件 - 图996第 10 章 创 建 A c tiv e X 控 件 - 图997第 10 章 创 建 A c tiv e X 控 件 - 图998直 到 现 在 我 们 还 没 有 向 我 们 的 应 用 程 序 中 添 加 一 行 代 码 因 为 我 们 一 直在 忙 于 建 立 代 码 框 架 现 在 该 向 OC X 中 添 加 代 码 了 首 先 要 添 加 一 些 代 码 使得 我 们 的 控 件 能 与 使 用 这 个 控 件 的 用 户 交 换 数 据 例 如 当 看 到 控 件 属 性 对 话框 时 通 常 想 看 到 这 些 属 性 的 当 前 值 类 似 地 当 改 变 了 一 个 属 性 值 时 就 想确 信 实 际 控 件 也 随 之 改 变 程 序 列 表 10 .1 是 需 要 添 加 的 代 码

程 序 列 表 10.1

V O ID C O C X E x m p lC trl::D o P ro p E x c h a n g e ( C P ro p E x c h a n g e * p P X )

{

/ / D efau l t ac t io ns o n th e p a r t o f th e C las s W izard .

E x c h a n g e V e rs io n ( p P X ,M A KE L ONG (_ wV e r M in o r ,_ w V e r M a jo r ) ) C O le C o n tro l::D o P ro p E x c h a n g e ( p P X ) ;

//M a k e a ll o f o u r p ro p e rtie s p e rs is te n t .

P X _B oo l( p P X ," O n O f f" ,m _o n O f f ,F A L S E ) ;

P X _L oog ( pP X ," M oda l R e s u lt" ,m _m oda l R e s u lt,m r N one ) ; P X _L oog ( p PX ," S tdB u t tonT y p e " ,m _s td B u t to n T y p e ,0);

}

第 10 章 创 建 A c tiv e X 控 件 - 图999第 10 章 创 建 A c tiv e X 控 件 - 图1000第 10 章 创 建 A c tiv e X 控 件 - 图1001第 10 章 创 建 A c tiv e X 控 件 - 图1002第 10 章 创 建 A c tiv e X 控 件 - 图1003第 10 章 创 建 A c tiv e X 控 件 - 图1004第 10 章 创 建 A c tiv e X 控 件 - 图1005第 10 章 创 建 A c tiv e X 控 件 - 图1006第 10 章 创 建 A c tiv e X 控 件 - 图1007第 10 章 创 建 A c tiv e X 控 件 - 图1008第 10 章 创 建 A c tiv e X 控 件 - 图1009第 10 章 创 建 A c tiv e X 控 件 - 图1010第 10 章 创 建 A c tiv e X 控 件 - 图1011第 10 章 创 建 A c tiv e X 控 件 - 图1012第 10 章 创 建 A c tiv e X 控 件 - 图1013第 10 章 创 建 A c tiv e X 控 件 - 图1014第 10 章 创 建 A c tiv e X 控 件 - 图1015现 在 假 定 你 不 喜 欢 按 钮 的 缺 省 大 小 并 且 想 在 用 户 把 按 钮 插 入 到 W e b 页 或其 它 框 架 中 时 显 示 一 个 具 体 的 标 题 可 以 在 O n R e s e t( ) 函 数 中 改 变 这 两 个 属 性程 序 列 表 10 .2 中 显 示 了 需 要 修 改 的 代 码 请 注 意 我 们 使 用 CO le Co n tro l 类 的函 数 来 完 成 所 需 的 修 改 S e tT e x t() 函 数 修 改 按 钮 的 标 题 每 当 用 户 插 入 这 一 控件 时 标 题 B u tto n 就 会 显 示 在 该 控 件 上 S e tC o n tro l S iz e ( ) 函 数 把 控 件 大 小 变成 75 25 个 像 素 显 然 可 以 按 你 自 己 的 意 愿 设 置 这 些 属 性 甚 至 能 够 选 择 其中 一 个 按 钮 作 为 缺 省 按 钮

程 序 列 表 10.2

V O ID C O C X E x m p lC trl::O n R e s e t S ta te ( )

{

C O le C o n tro l::O n R e s e t S ta te ( ) ; //R e s e ts d e fa u lts fo u n d in D o P ro p E x c h a n g e

//M o d if y th e M ic ro s o f t c o n tro l to m a tc h c u s to m s iz e s e ttin g s . C O le C o n tro l::S e t T e x t( " B u tto n " ) ;

C O le C o n tro l::S e t C o n tro lS iz e ( 7 5 ,2 5 ) ;

}

第 10 章 创 建 A c tiv e X 控 件 - 图1016第 10 章 创 建 A c tiv e X 控 件 - 图1017第 10 章 创 建 A c tiv e X 控 件 - 图1018第 10 章 创 建 A c tiv e X 控 件 - 图1019第 10 章 创 建 A c tiv e X 控 件 - 图1020第 10 章 创 建 A c tiv e X 控 件 - 图1021第 10 章 创 建 A c tiv e X 控 件 - 图1022第 10 章 创 建 A c tiv e X 控 件 - 图1023第 10 章 创 建 A c tiv e X 控 件 - 图1024第 10 章 创 建 A c tiv e X 控 件 - 图1025第 10 章 创 建 A c tiv e X 控 件 - 图1026第 10 章 创 建 A c tiv e X 控 件 - 图1027第 10 章 创 建 A c tiv e X 控 件 - 图1028第 10 章 创 建 A c tiv e X 控 件 - 图1029现 在 我 们 有 了 交 换 信 息 的 方 法 并 且 把 控 件 按 我 们 的 要 求 进 行 了 设 置 下面 来 实 现 我 们 创 建 的 三 个 定 制 属 性 是 的 每 当 你 创 建 一 个 定 制 属 性 时 就 需要 定 义 一 些 代 码 使 得 这 种 属 性 能 完 成 一 些 任 务 否 则 它 就 只 能 呆 在 那 里 干不 成 事 程 序 列 表 10 .3 列 出 了 用 以 实 现 M oda l R e s u lt O n O ff 和 S tdB u ttonT y p e 属 性 所 需 添 加 的 代 码 下 一 节 我 来 解 释 一 下 这 些 代 码 的 内 部 操 作 方 式 在 目 前你 只 要 知 道 这 些 代 码 实 现 了 我 们 创 建 的 属 性 就 够 了

程 序 列 表 10.3

v o id C O C X E x m p lC trl::O n M o d a l R e s u ltC h a n g e d ( )

{

/ / W e don 't n e e d to d o a n y th ing h e re e x c e pt s e t th e m o d if ie d f la g . S e tM o d ifie d F la g ( ) ;

}

v o id C O C X E x m p lc trl::O n O f f C h a n g e d ( )

{

/ / I f th e p ro g ram m e r se t th e O n O f f p rop erty tru e , tak e a p p ro p r ia te a c t io n . if ( m _ onO f f )

{

C O le C o n tro l::S e t T e x t(" O n " ) ; //C h a n g e th e C a p tio n

}

e ls e

{

}

m _ S e tO n = T R U E ; //S e t a n in te rn a l c a p tio n f la g m _ m o d a lR e s u l t = m r O n ; //S e t th e m o d a l re s u lt v a lu e .

C O le C o n tro l::S e t T e x t(" B u tto n " ) ; //R e s to re d e fa u l t C a p tio n m _ S e t O n = F A L S E ; / / T u rn o u r c a p t io n f la g o ff

m _ m o d a lR e s u l t = m r N o n e ; //U s e th e d e fa u lt m o d a l re s u lt.

//P e r fo rm th e d e fa u lt a c tio n . S e tM o d ifie d F la g ( ) ;

}

v o id C O C X E x m p lC trl::O n S td B u tto n T y p e C h a n g e d ( )

{

// C h a n g e th e m o d a l re su lt a n d b u tto n c a p tio n to m a tc h th e u s e r se le c tio n . s w i tc h ( m _s td B u t ton T y pe )

{

cas e 0 :

m _ m o d a l R e s u l t = m r N o n e ;

C O le C o n tro l::S e t T e x t(" B u tto n " ) ; b re a k ;

cas e 1 :

m _ m o d a l R e s u l t = m r O K ;

C O le C o n tro l::S e t T e x t(" O K " ) ; b re a k ;

cas e 2 :

m _ m o d a l R e s u l t = m r C a n c e l ;

C O le C o n tro l::S e t T e x t(" C a n c e l" ) ; b re a k ;

cas e 3 :

m _ m o d a l R e s u l t = m r A b o r t ;

C O le C o n tro l::S e t T e x t(" A b o rt" ) ; b re a k ;

cas e 4 :

m _ m o d a l R e s u l t = m r R e tr y ;

C O le C o n tro l::S e t T e x t(" R e try " ) ; b re a k ;

cas e 5 :

m _ m oda l R e s u l t = m r Igno re ;

C O le C o n tro l::S e t T e x t(" Ig n o re " ) ;

b re a k ; cas e 6 :

m _ m o d a l R e s u l t = m r Y e s ;

C O le C o n tro l::S e t T e x t(" Y e s" ) ; b re a k ;

cas e 7 :

m _ m o d a l R e s u l t = m r N o ;

C O le C o n tro l::S e t T e x t(" N o " ) ; b re a k ;

cas e 8 :

m _ m o d a l R e s u l t = m r O n ;

C O le C o n tro l::S e t T e x t(" O n " ) ; b re a k ;

cas e 9 :

m _ m o d a l R e s u l t = m r O f f ;

C O le C o n tro l::S e t T e x t(" O f f" ) ; b re a k ;

}

/ / S et th e O n O f f p rop e r ty to fa ls e s in ce th e u ser s e le cted ano th e r ty p e . m _ o n O f f = F A LS E;

/ / S et th e m o d if ie d f lag . S e tM o d ifie d F la g ( ) ;

}

第 10 章 创 建 A c tiv e X 控 件 - 图1030第 10 章 创 建 A c tiv e X 控 件 - 图1031第 10 章 创 建 A c tiv e X 控 件 - 图1032第 10 章 创 建 A c tiv e X 控 件 - 图1033第 10 章 创 建 A c tiv e X 控 件 - 图1034第 10 章 创 建 A c tiv e X 控 件 - 图1035第 10 章 创 建 A c tiv e X 控 件 - 图1036第 10 章 创 建 A c tiv e X 控 件 - 图1037第 10 章 创 建 A c tiv e X 控 件 - 图1038第 10 章 创 建 A c tiv e X 控 件 - 图1039第 10 章 创 建 A c tiv e X 控 件 - 图1040第 10 章 创 建 A c tiv e X 控 件 - 图1041第 10 章 创 建 A c tiv e X 控 件 - 图1042第 10 章 创 建 A c tiv e X 控 件 - 图1043第 10 章 创 建 A c tiv e X 控 件 - 图1044第 10 章 创 建 A c tiv e X 控 件 - 图1045第 10 章 创 建 A c tiv e X 控 件 - 图1046我 们 现 在 需 要 在 OC XE X M P L C tl. c p p 文 件 中 做 最 后 的 一 些 编 码 工 作 当 用户 单 击 按 钮 时 怎 么 办 如 果 他 使 用 的 是 标 准 按 钮 类 型 之 一 O n O ff 控 件 将 返 回一 个 标 准 的 模 式 结 果 值 但 是 O n O ff 控 件 还 有 一 个 特 殊 行 为 如 果 你 把 O n O ff属 性 设 置 为 T ru e 按 钮 则 随 着 用 户 的 单 击 而 在 On 和 O ff 之 间 切 换 我 们 需 要添 加 一 些 特 殊 的 事 件 代 码 来 处 理 这 种 情 况 使 用 V ie w 视 图 第 10 章 创 建 A c tiv e X 控 件 - 图1047 |C la s s W izard 类向 导 第 10 章 创 建 A c tiv e X 控 件 - 图1048 命 令 显 示 出 M F C C las s W izard M F C 类 向 导 第 10 章 创 建 A c tiv e X 控 件 - 图1049 对 话 框 选 取 M e s s a g e M a p s消 息 映 射 第 10 章 创 建 A c tiv e X 控 件 - 图1050 页 选 择 C la ss N a m e 类 名 第 10 章 创 建 A c tiv e X 控 件 - 图1051 域 中 的 CO CX E x m p l C tr l 项 在

第 10 章 创 建 A c tiv e X 控 件 - 图1052第 10 章 创 建 A c tiv e X 控 件 - 图1053第 10 章 创 建 A c tiv e X 控 件 - 图1054第 10 章 创 建 A c tiv e X 控 件 - 图1055第 10 章 创 建 A c tiv e X 控 件 - 图1056第 10 章 创 建 A c tiv e X 控 件 - 图1057M e ssa g e s 消 息 第 10 章 创 建 A c tiv e X 控 件 - 图1058 列 表 中 选 中 O n C lic k 单 击 A dd F unc tion 添 加 函 数 第 10 章 创 建 A c tiv e X 控 件 - 图1059 向 类 中添 加 一 个 函 数 框 架 这 时 M F C C las s W izard M F C 类 向 导 第 10 章 创 建 A c tiv e X 控 件 - 图1060 对 话 框 如 下 图 所 示

第 10 章 创 建 A c tiv e X 控 件 - 图1061

第 10 章 创 建 A c tiv e X 控 件 - 图1062第 10 章 创 建 A c tiv e X 控 件 - 图1063第 10 章 创 建 A c tiv e X 控 件 - 图1064第 10 章 创 建 A c tiv e X 控 件 - 图1065第 10 章 创 建 A c tiv e X 控 件 - 图1066现 在 向 O n C lic k ( ) 函 数 中 添 加 代 码 单 击 E d it C ode 编 辑 代 码 第 10 章 创 建 A c tiv e X 控 件 - 图1067 按 钮 V is u a l C+ + 就 把 你 带 入 到 新 函 数 中 程 序 列 表 10 .4 列 出 了 需 要 添 加 的 代 码

程 序 列 表 10.4

v o id C O C X E x m p lC trl::O n C lic k ( U S H O R T iB u tto n )

{

//s e e if th e O n O f f f la g is s e t. I f s o , c h a n g e th e c a p tio n a n d in te rn a l

/ / c a p t io n f la g . T he e f fe c t y o u s h ou ld s e e f ro m th is c o d e is a togg lin g

//o f th e c a p tio n te x t. if ( m _ onO f f )

{

if ( m _ S e t O n )

{

}

e ls e

{

}

}

C O le C o n tro l::S e t T e x t(" O f f" ) ; m _ S e t O n = F A L S E ;

m _ m o d a l R e su l t = m r O f f ;

C O le C o n tro l::S e t T e x t(" O n " ) ; m _ S e t O n = T R U E ;

m _ m o d a l R e su l t = m r O n ;

//C a l l th e d e fa u lt O n C lic k p ro c e s s in g . C O le C o n tro l::O n C lic k ( B u tto n ) ;

}

第 10 章 创 建 A c tiv e X 控 件 - 图1068现 在 我 们 已 经 实 现 了 函 数 编 码 部 分 但 我 们 还 需 要 向 O C XE XM P L C tl. h 文

第 10 章 创 建 A c tiv e X 控 件 - 图1069第 10 章 创 建 A c tiv e X 控 件 - 图1070第 10 章 创 建 A c tiv e X 控 件 - 图1071第 10 章 创 建 A c tiv e X 控 件 - 图1072第 10 章 创 建 A c tiv e X 控 件 - 图1073第 10 章 创 建 A c tiv e X 控 件 - 图1074第 10 章 创 建 A c tiv e X 控 件 - 图1075第 10 章 创 建 A c tiv e X 控 件 - 图1076第 10 章 创 建 A c tiv e X 控 件 - 图1077件 中 添 加 两 个 支 持 项 第 一 个 项 是 枚 举 类 型 其 唯 一 目 的 是 使 源 代 码 容 易 阅 读每 个 元 素 对 应 一 个 标 准 按 钮 类 型 第 二 个 项 是 一 个 特 殊 变 量 如 果 注 意 一 下 代码 就 会 看 到 我 们 一 直 引 用 一 个 名 为 m _ S e t O n 的 成 员 变 量 但 这 个 变 量 现 在 还不 是 类 的 一 部 分 程 序 列 表 10 .5 显 示 了 如 何 向 头 文 件 中 添 加 所 需 的 枚 举 类 型 及特 殊 变 量 ─ ─ 就 在 Ev e n t m a p s 和 D is p atc h an d ev en t ID s 项 之 间 添 加

程 序 列 表 10.5

/ / E ve nt m a ps

/ /{ { A F X _ E VE NT ( C OC X E x m p l C tr l)

/ /} } A F X _ E VE NT

D E C L A R E_ EV EN T _ M A P ( )

//C re a t a n e w e n u m e ra te d ty p e fo r th e m o d a l re s u lt. ty pe de f e n um

{

m r N o n e = - 1 L , m r O k = 1 L ,

m r C a n c e l = 2 L , m r A bort = 3L , m r R e tr y = 4 L , m rIg n o re = 5 L , m r Y e s = 6 L ,

m r N o = 7 L ,

m r O n = 8 L , m r O f f = 9 L ,

} M ODAL T Y P E ;

/ / S p ecial O n / O f f s tate v a r iab le .

B O O L m _ S e t O n ;

//D is p a tc h a n d e v e n t ID s p u b l ic :

e n u m {

/ /{ { A F X _ D IS P _ ID (C O C X E x m p l C trl) d is p id M o d a lR e su lt = 1 L ,

d is p id O n O f f = 2 L ,

d is p id S td B u tto n T y p e = 3 L ,

/ /} } A F X _ D IS P _ ID

} ;

详 细 解 析 代 码

第 10 章 创 建 A c tiv e X 控 件 - 图1078第 10 章 创 建 A c tiv e X 控 件 - 图1079第 10 章 创 建 A c tiv e X 控 件 - 图1080第 10 章 创 建 A c tiv e X 控 件 - 图1081第 10 章 创 建 A c tiv e X 控 件 - 图1082第 10 章 创 建 A c tiv e X 控 件 - 图1083第 10 章 创 建 A c tiv e X 控 件 - 图1084你 对 上 述 代 码 作 出 的 最 初 反 应 肯 定 是 觉 得 太 可 怕 了 但 是 如 果 每 次 处 理一 个 函 数 这 实 际 上 又 相 当 容 易 事 实 上 作 为 A c tiv e X 控 件 定 义 处 理 过 程 的一 部 分 V is u a l C + + 已 为 你 写 出 了 大 部 分 的 代 码 所 以 你 写 出 的 代 码 并 没 有 比

第 10 章 创 建 A c tiv e X 控 件 - 图1085第 10 章 创 建 A c tiv e X 控 件 - 图1086第 10 章 创 建 A c tiv e X 控 件 - 图1087为 一 个 标 准 应 用 程 序 所 写 的 代 码 多 多 少 我 们 添 加 的 函 数 只 不 过 是 定 义 我 们要 求 这 个 控 件 所 要 完 成 的 特 殊 任 务

第 10 章 创 建 A c tiv e X 控 件 - 图1088第 10 章 创 建 A c tiv e X 控 件 - 图1089第 10 章 创 建 A c tiv e X 控 件 - 图1090第 10 章 创 建 A c tiv e X 控 件 - 图1091第 10 章 创 建 A c tiv e X 控 件 - 图1092第 10 章 创 建 A c tiv e X 控 件 - 图1093第 10 章 创 建 A c tiv e X 控 件 - 图1094第 10 章 创 建 A c tiv e X 控 件 - 图1095让 我 们 把 代 码 分 解 开 来 看 一 下 你 修 改 的 第 一 个 函 数 是 D o P ropE xc ha nge ( ) 这 个 函 数 在 这 个 例 子 中 只 完 成 一 种 服 务 ─ ─ 把 你 的 定 制 属 性 变 成 持 久 属 性 实际 上 PX _ 系 列 函 数 调 用 允 许 把 一 个 特 定 属 性 的 值 从 一 个 会 话 期 存 贮 到 下 一个 会 话 期 对 你 定 义 的 每 一 个 变 量 类 型 都 调 用 一 次 该 类 型 的 函 数 每 次 调 用 都接 受 类 似 于 下 文 所 述 的 四 个 变 量

P X _ B o o l ( p P X ," O n O f f", m_ On O ff, F A L S E ) ;

第 10 章 创 建 A c tiv e X 控 件 - 图1096第 10 章 创 建 A c tiv e X 控 件 - 图1097第 10 章 创 建 A c tiv e X 控 件 - 图1098第 10 章 创 建 A c tiv e X 控 件 - 图1099第 10 章 创 建 A c tiv e X 控 件 - 图1100第 10 章 创 建 A c tiv e X 控 件 - 图1101第 10 章 创 建 A c tiv e X 控 件 - 图1102第 10 章 创 建 A c tiv e X 控 件 - 图1103第 10 章 创 建 A c tiv e X 控 件 - 图1104第 10 章 创 建 A c tiv e X 控 件 - 图1105第 10 章 创 建 A c tiv e X 控 件 - 图1106第 10 章 创 建 A c tiv e X 控 件 - 图1107第 10 章 创 建 A c tiv e X 控 件 - 图1108第 10 章 创 建 A c tiv e X 控 件 - 图1109第 一 个 变 量 是 指 向 属 性 交 换 结 构 的 一 个 指 针 V is u a l C + + 自 动 定 义 这 一 结构 你 只 管 使 用 就 是 了 第 二 个 参 数 包 含 了 属 性 的 外 部 名 用 户 在 P rope r ty In s p ecto r 中 可 以 看 到 它 对 于 P rope r ty In s p e c tor V is u a l C + + 称 之 为 属 性 对 话框 D e lphi 称 为 对 象 观 察 器 等 等 第 10 章 创 建 A c tiv e X 控 件 - 图1110 第 三 个 参 数 是 属 性 的 内 部 名 使 用 它 在整 个 程 序 中 确 定 该 属 性 最 后 的 参 数 是 定 义 属 性 的 缺 省 值 第 10 章 创 建 A c tiv e X 控 件 - 图1111 除 非 你 想 让 用 户 在P rope r tie s 属 性 第 10 章 创 建 A c tiv e X 控 件 - 图1112 对 话 框 中 看 到 一 个 空 白 域 第 10 章 创 建 A c tiv e X 控 件 - 图1113

第 10 章 创 建 A c tiv e X 控 件 - 图1114第 10 章 创 建 A c tiv e X 控 件 - 图1115第 10 章 创 建 A c tiv e X 控 件 - 图1116第 10 章 创 建 A c tiv e X 控 件 - 图1117第 10 章 创 建 A c tiv e X 控 件 - 图1118第 10 章 创 建 A c tiv e X 控 件 - 图1119第 10 章 创 建 A c tiv e X 控 件 - 图1120第 10 章 创 建 A c tiv e X 控 件 - 图1121第 10 章 创 建 A c tiv e X 控 件 - 图1122第 10 章 创 建 A c tiv e X 控 件 - 图1123第 10 章 创 建 A c tiv e X 控 件 - 图1124你 修 改 的 下 一 个 函 数 是 O n R e s e tS ta te ( ) 这 个 函 数 提 供 的 是 当 用 户 把 组 件添 加 到 窗 体 上 时 用 户 看 到 的 一 些 美 学 细 节 在 这 儿 我 们 给 予 组 件 一 个 缺 省标 题 并 改 变 其 尺 寸 使 之 与 能 在 W e b 页 上 正 常 工 作 的 定 制 尺 寸 相 匹 配 如 果 你设 计 一 个 A c tiv e X 控 件 用 于 其 它 目 的 就 需 要 改 变 这 一 设 置 以 满 足 你 使 用 最多 的 程 序 设 计 语 言 的 需 要 要 记 住 重 要 的 是 O n R e s e tS ta te ( ) 函 数 允 许 你 对 使 用 控件 所 需 要 的 任 何 设 置 进 行 操 作

第 10 章 创 建 A c tiv e X 控 件 - 图1125第 10 章 创 建 A c tiv e X 控 件 - 图1126第 10 章 创 建 A c tiv e X 控 件 - 图1127第 10 章 创 建 A c tiv e X 控 件 - 图1128第 10 章 创 建 A c tiv e X 控 件 - 图1129技 巧 Microsoft 使 用 的 组 件 缺 省 尺 寸 差 不 多 是 Borland 产 品 第 10 章 创 建 A c tiv e X 控 件 - 图1130 如 DelPhi 第 10 章 创 建 A c tiv e X 控 件 - 图1131的 两 倍 Internet 控 件 的 尺 寸 可 变 但 本 例 中 使 用 的 7 5 25 第 10 章 创 建 A c tiv e X 控 件 - 图1132 宽 高 第 10 章 创 建 A c tiv e X 控 件 - 图1133 规 格 在 绝 大 多 数 情 况 下 都 能 工 作

第 10 章 创 建 A c tiv e X 控 件 - 图1134第 10 章 创 建 A c tiv e X 控 件 - 图1135第 10 章 创 建 A c tiv e X 控 件 - 图1136第 10 章 创 建 A c tiv e X 控 件 - 图1137第 10 章 创 建 A c tiv e X 控 件 - 图1138第 10 章 创 建 A c tiv e X 控 件 - 图1139第 10 章 创 建 A c tiv e X 控 件 - 图1140第 10 章 创 建 A c tiv e X 控 件 - 图1141第 10 章 创 建 A c tiv e X 控 件 - 图1142第 10 章 创 建 A c tiv e X 控 件 - 图1143第 10 章 创 建 A c tiv e X 控 件 - 图1144第 10 章 创 建 A c tiv e X 控 件 - 图1145第 10 章 创 建 A c tiv e X 控 件 - 图1146第 10 章 创 建 A c tiv e X 控 件 - 图1147第 10 章 创 建 A c tiv e X 控 件 - 图1148第 10 章 创 建 A c tiv e X 控 件 - 图1149在 代 码 的 消 息 处 理 程 序 ( ha nd le r ) 部 分 三 个 修 改 过 的 函 数 中 有 两 个 需 要进 一 步 修 改 M oda l R e s u lt C ha ng e d ( ) 函 数 不 需 作 修 改 所 以 这 里 就 不 讨 论 它 了与 M oda l R e s u lt C ha ng e ( ) 函 数 相 关 的 属 性 M oda l R e s u lt 由 其 它 两 个 函 数 进 行 修 改先 看 一 看 O n O f f C ha nge ( ) 函 数 我 们 要 做 的 是 设 置 内 部 标 题 标 志 和 初 始 标 题 如果 程 序 员 设 置 O n O ff 属 性 为 T ru e 我 们 通 过 设 置 它 的 标 题 为 On 把 控 件 设 置 为一 个 on /off 开 关 按 钮 当 按 钮 用 作 on /off 开 关 时 还 提 供 了 不 同 的 模 式 结 果 值请 留 意 内 部 属 性 变 量 m _onO f f 追 踪 着 标 志 的 状 态 而 内 部 属 性 m _ S e t O n 追 踪着 O n O ff 控 件 的 当 前 状 态 (o n 或 o ff) 因 为 这 个 按 钮 初 始 时 为 On 所 以 一 开 始设 置 m _ S e t O n 标 志 为 T ru e

第 10 章 创 建 A c tiv e X 控 件 - 图1150现 在 看 一 下 这 个 OC X 的 P rope r ty P a ge 第 10 章 创 建 A c tiv e X 控 件 - 图1151 属 性 页 第 10 章 创 建 A c tiv e X 控 件 - 图1152 中 功 能 所 需 的 处 理 过 程

第 10 章 创 建 A c tiv e X 控 件 - 图1153第 10 章 创 建 A c tiv e X 控 件 - 图1154第 10 章 创 建 A c tiv e X 控 件 - 图1155第 10 章 创 建 A c tiv e X 控 件 - 图1156第 10 章 创 建 A c tiv e X 控 件 - 图1157O n S tdB u ttonT y p e C ha ng e d 函 数 只 不 过 是 一 个 cas e 语 句 它 按 照 创 建 各 种 缺 省 按钮 类 型 的 需 要 来 改 变 按 钮 的 C a p tio n 和 M oda l R e s u lt 属 性 请 留 意 如 果 用 户 选择 了 缺 省 的 按 钮 类 型 我 们 还 不 得 不 关 闭 O n O ff 的 按 钮 处 理 过 程

第 10 章 创 建 A c tiv e X 控 件 - 图1158第 10 章 创 建 A c tiv e X 控 件 - 图1159第 10 章 创 建 A c tiv e X 控 件 - 图1160第 10 章 创 建 A c tiv e X 控 件 - 图1161第 10 章 创 建 A c tiv e X 控 件 - 图1162第 10 章 创 建 A c tiv e X 控 件 - 图1163第 10 章 创 建 A c tiv e X 控 件 - 图1164第 10 章 创 建 A c tiv e X 控 件 - 图1165第 10 章 创 建 A c tiv e X 控 件 - 图1166第 10 章 创 建 A c tiv e X 控 件 - 图1167O n C lic k ( ) 消 息 处 理 函 数 在 运 行 期 间 是 激 活 的 这 里 有 两 个 层 次 的 动 作 第一 需 要 确 定 程 序 员 是 不 是 把 这 个 按 钮 定 义 为 on /off 开 关 如 果 是 我 们 就 改变 内 部 状 态 变 量 (m _ S e t O n ) 和 按 钮 标 题 该 函 数 让 按 钮 状 态 在 On 和 O ff 之 间 按需 要 切 换 一 旦 我 们 完 成 了 使 按 钮 工 作 所 需 的 内 部 处 理 我 们 就 调 用 缺 省 的O n C lic k 处 理 例 程 如 调 用 失 败 则 导 致 OC X 跳 过 你 为 按 钮 事 件 附 加 的 专 用 于

第 10 章 创 建 A c tiv e X 控 件 - 图1168第 10 章 创 建 A c tiv e X 控 件 - 图1169第 10 章 创 建 A c tiv e X 控 件 - 图1170第 10 章 创 建 A c tiv e X 控 件 - 图1171程 序 设 计 环 境 的 代 码 例 如 如 果 你 在 V is u a l C + + 应 用 程 序 中 使 用 这 个 控 件附 加 于 V is u a l C + + 中 e xpos e d 事 件 的 任 何 代 码 都 会 被 忽 略

第 10 章 创 建 A c tiv e X 控 件 - 图1172第 10 章 创 建 A c tiv e X 控 件 - 图1173第 10 章 创 建 A c tiv e X 控 件 - 图1174第 10 章 创 建 A c tiv e X 控 件 - 图1175第 10 章 创 建 A c tiv e X 控 件 - 图1176第 10 章 创 建 A c tiv e X 控 件 - 图1177第 10 章 创 建 A c tiv e X 控 件 - 图1178第 10 章 创 建 A c tiv e X 控 件 - 图1179第 10 章 创 建 A c tiv e X 控 件 - 图1180在 能 够 使 用 这 个 组 件 之 前 还 得 在 V is u a l C + + 中 建 立 它 建 立 过 程 的 一 部分 是 用 W ind ow s 自 动 为 你 注 册 OC X 我 确 实 喜 欢 这 一 特 色 因 为 在 测 试 OC X 时它 为 我 节 省 了 不 少 时 间 唯 一 的 缺 憾 是 预 先 注 册 污 染 了 工 作 环 境 从 In te rn e t 上 使 用 A c tiv e X 控 件 的 角 度 来 看 你 必 须 到 另 一 台 机 器 上 去 测 试 这 一 组 件

测 试 控 件

第 10 章 创 建 A c tiv e X 控 件 - 图1181第 10 章 创 建 A c tiv e X 控 件 - 图1182第 10 章 创 建 A c tiv e X 控 件 - 图1183第 10 章 创 建 A c tiv e X 控 件 - 图1184第 10 章 创 建 A c tiv e X 控 件 - 图1185第 10 章 创 建 A c tiv e X 控 件 - 图1186第 10 章 创 建 A c tiv e X 控 件 - 图1187第 10 章 创 建 A c tiv e X 控 件 - 图1188— 旦 创 建 了 一 个 任 意 种 类 的 A c tiv e X 控 件 不 论 是 否 你 的 编 译 器 是 否 将 它称 为 OC X 第 10 章 创 建 A c tiv e X 控 件 - 图1189 都 要 进 行 一 些 测 试 从 而 保 证 它 按 预 期 的 方 式 工 作 对 于 想 用 于In te rn e t 的 A c t iv e X 控 件 来 说 其 测 试 工 作 最 好 分 为 四 个 阶 段 三 个 层 次 的 内 部测 试 和 第 四 层 次 的 外 部 测 试 下 述 列 表 说 明 了 各 个 阶 段 的 重 要 性

  • 第 10 章 创 建 A c tiv e X 控 件 - 图1190第 10 章 创 建 A c tiv e X 控 件 - 图1191第 10 章 创 建 A c tiv e X 控 件 - 图1192第 10 章 创 建 A c tiv e X 控 件 - 图1193第 10 章 创 建 A c tiv e X 控 件 - 图1194第 10 章 创 建 A c tiv e X 控 件 - 图1195第 10 章 创 建 A c tiv e X 控 件 - 图1196第 10 章 创 建 A c tiv e X 控 件 - 图1197第 10 章 创 建 A c tiv e X 控 件 - 图1198

    部 测 试 阶 段 1 在 标 准 环 境 中 使 用 这 个 控 件 在 将 控 件 从 标 准 程 序 设 计 平台 移 走 之 前 看 一 下 它 是 否 能 够 工 作 正 常 这 样 做 的 理 由 很 简 单 在 浏 览器 内 测 试 A c tiv e X 控 件 时 没 有 调 试 程 序 可 用 在 把 它 从 C+ + 或 其 它OC X /A c tiv e X 第 10 章 创 建 A c tiv e X 控 件 - 图1199 程 序 设 计 环 境 中 移 走 之 前 测 试 A c tiv e X 控 件 的 基 本 功 能 使你 拥 有 调 试 程 序 从 而 能 随 时 找 出 真 正 严 重 的 问 题

  • 第 10 章 创 建 A c tiv e X 控 件 - 图1200第 10 章 创 建 A c tiv e X 控 件 - 图1201第 10 章 创 建 A c tiv e X 控 件 - 图1202第 10 章 创 建 A c tiv e X 控 件 - 图1203第 10 章 创 建 A c tiv e X 控 件 - 图1204第 10 章 创 建 A c tiv e X 控 件 - 图1205第 10 章 创 建 A c tiv e X 控 件 - 图1206

    部 测 试 阶 段 2 在 浏 览 器 内 进 行 本 地 测 试 在 你 的 本 地 机 器 上 建 立 简 短 测试 看 一 看 A c tiv e X 控 件 能 否 装 入 到 一 个 HT M L 页 中 这 样 可 以 使 后 面 的工 作 节 省 一 些 时 间 你 还 应 该 验 证 一 下 是 否 有 足 够 多 的 属 性 在 实 际 使 用控 件 时 可 用 并 且 在 你 浏 览 测 试 页 时 它 能 否 工 作

  • 第 10 章 创 建 A c tiv e X 控 件 - 图1207第 10 章 创 建 A c tiv e X 控 件 - 图1208第 10 章 创 建 A c tiv e X 控 件 - 图1209第 10 章 创 建 A c tiv e X 控 件 - 图1210第 10 章 创 建 A c tiv e X 控 件 - 图1211第 10 章 创 建 A c tiv e X 控 件 - 图1212第 10 章 创 建 A c tiv e X 控 件 - 图1213第 10 章 创 建 A c tiv e X 控 件 - 图1214第 10 章 创 建 A c tiv e X 控 件 - 图1215第 10 章 创 建 A c tiv e X 控 件 - 图1216

    部 测 试 阶 段 3 使 用 网 络 连 接 测 试 整 个 W e b 页 一 旦 你 对 A c tiv e X 控 件的 基 本 功 能 完 成 了 测 试 工 作 并 验 证 了 它 能 在 浏 览 器 中 正 常 使 用 就 要 确定 它 是 否 能 够 在 一 整 页 HT M L 标 记 中 正 常 工 作 总 之 不 能 与 同 在 一 页 上的 其 它 控 件 一 起 工 作 的 控 件 有 什 么 用 呢 控 件 间 的 相 互 作 用 能 引 起 一 些 真正 奇 怪 的 问 题 可 以 在 应 用 程 序 中 使 用 标 准 窗 体 来 测 试 相 互 作 用 问 题 但也 帮 不 了 多 少 忙 问 题 是 浏 览 器 并 不 是 像 你 所 喜 爱 的 编 译 器 那 样 来 处 理A c tiv e X 控 件

  • 第 10 章 创 建 A c tiv e X 控 件 - 图1217第 10 章 创 建 A c tiv e X 控 件 - 图1218第 10 章 创 建 A c tiv e X 控 件 - 图1219第 10 章 创 建 A c tiv e X 控 件 - 图1220第 10 章 创 建 A c tiv e X 控 件 - 图1221第 10 章 创 建 A c tiv e X 控 件 - 图1222第 10 章 创 建 A c tiv e X 控 件 - 图1223第 10 章 创 建 A c tiv e X 控 件 - 图1224第 10 章 创 建 A c tiv e X 控 件 - 图1225第 10 章 创 建 A c tiv e X 控 件 - 图1226

    部 测 试 在 未 被 污 染 的 机 器 上 核 查 控 件 功 能 你 遇 到 的 最 大 问 题 是 污 染请 记 住 大 部 编 译 器 总 是 自 动 地 对 你 所 创 建 的 OC X 或 A c tiv e X 控 件 进 行 注册 而 进 入 你 的 In te rn e t 站 点 的 人 却 没 有 这 个 便 利 非 常 重 要 的 是 用 未 被污 染 的 客 户 机 和 服 务 器 在 W e b 页 的 上 下 文 环 境 中 测 试 你 的 新 控 件 换 言之 测 试 的 最 后 阶 段 要 像 任 何 访 问 你 的 In te rn e t 站 点 的 人 那 样 来 看 待 这 个控 件

第 10 章 创 建 A c tiv e X 控 件 - 图1227第 10 章 创 建 A c tiv e X 控 件 - 图1228第 10 章 创 建 A c tiv e X 控 件 - 图1229第 10 章 创 建 A c tiv e X 控 件 - 图1230第 10 章 创 建 A c tiv e X 控 件 - 图1231第 10 章 创 建 A c tiv e X 控 件 - 图1232第 10 章 创 建 A c tiv e X 控 件 - 图1233第 10 章 创 建 A c tiv e X 控 件 - 图1234第 10 章 创 建 A c tiv e X 控 件 - 图1235第 10 章 创 建 A c tiv e X 控 件 - 图1236第 10 章 创 建 A c tiv e X 控 件 - 图1237第 10 章 创 建 A c tiv e X 控 件 - 图1238第 10 章 创 建 A c tiv e X 控 件 - 图1239第 10 章 创 建 A c tiv e X 控 件 - 图1240第 10 章 创 建 A c tiv e X 控 件 - 图1241现 在 你 已 经 明 白 我 们 要 做 些 什 么 了 让 我 们 看 一 下 我 们 创 建 的 控 件 的 测 试工 作 吧 在 下 面 我 将 使 用 V is u a l C + + 6 .0 你 可 以 使 用 支 持 OC X 的 任 意 程 序 设计 环 境 例 如 可 以 使 用 V isu a l B a sic 或 D e lp h i 来 测 试 O n O ff 控 件 看 看 在 这些 语 言 中 控 件 是 如 何 工 作 的 重 要 的 考 虑 不 在 于 你 用 什 么 语 言 来 测 试 而 在 于要 使 用 包 含 了 全 部 调 试 支 持 的 一 些 程 序 设 计 语 言 来 完 全 地 测 试 这 个 控 件 在 预定 要 使 用 控 件 的 最 安 全 的 环 境 中 要 确 保 创 建 的 控 件 能 够 真 正 地 按 预 期 方 式 工作 由 于 许 多 In te rn e t 工 具 处 于 测 试 阶 段 你 会 发 现 看 起 来 好 象 控 件 能 工 作 却 又工 作 不 了 在 一 个 已 知 的 环 境 中 通 过 对 控 件 进 行 测 试 来 消 除 控 件 本 身 的 干 扰

第 10 章 创 建 A c tiv e X 控 件 - 图1242这 是 迈 向 找 出 问 题 的 第 一 步

第 10 章 创 建 A c tiv e X 控 件 - 图1243内 部 测 试 阶 段 1 在 标 准 环 境 中 使 用 控 件

第 10 章 创 建 A c tiv e X 控 件 - 图1244第 10 章 创 建 A c tiv e X 控 件 - 图1245第 10 章 创 建 A c tiv e X 控 件 - 图1246第 10 章 创 建 A c tiv e X 控 件 - 图1247第 10 章 创 建 A c tiv e X 控 件 - 图1248内 部 测 试 的 第 一 阶 段 不 会 是 一 个 既 长 又 累 人 的 过 程 真 正 需 要 完 成 的 任 务是 使 用 标 准 程 序 设 计 环 境 创 建 一 个 工 程 然 后 把 你 创 建 的 A c tiv e X 控 件 添 加 进去 要 保 证 所 有 属 性 如 预 期 的 那 样 工 作 起 来 花 些 时 间 彻 底 地 核 查 属 性 页

第 10 章 创 建 A c tiv e X 控 件 - 图1249第 10 章 创 建 A c tiv e X 控 件 - 图1250注 记 住 需 要 使 用 Project 第 10 章 创 建 A c tiv e X 控 件 - 图1251 工 程 第 10 章 创 建 A c tiv e X 控 件 - 图1252 |Add to Project|Component s and Controls 第 10 章 创 建 A c tiv e X 控 件 - 图1253 组 件 与 控 件 第 10 章 创 建 A c tiv e X 控 件 - 图1254 命 令 显 示 出 Component s and Controls Gallery 第 10 章 创 建 A c tiv e X 控 件 - 图1255组 件 与 控 件 展 台 第 10 章 创 建 A c tiv e X 控 件 - 图1256 对 话 框 在 这 个 对 话 框 中 把 OCXExmpl 控 件 添 加 到当 前 工 程 中 去

第 10 章 创 建 A c tiv e X 控 件 - 图1257第 10 章 创 建 A c tiv e X 控 件 - 图1258第 10 章 创 建 A c tiv e X 控 件 - 图1259第 10 章 创 建 A c tiv e X 控 件 - 图1260第 10 章 创 建 A c tiv e X 控 件 - 图1261第 10 章 创 建 A c tiv e X 控 件 - 图1262第 10 章 创 建 A c tiv e X 控 件 - 图1263第 10 章 创 建 A c tiv e X 控 件 - 图1264第 10 章 创 建 A c tiv e X 控 件 - 图1265在 你 喜 欢 的 支 持 OC X 工 作 的 第 10 章 创 建 A c tiv e X 控 件 - 图1266 程 序 设 计 环 境 中 创 建 一 个 新 工 程 对 于 本例 来 说 在 V is u a l C + + 中 创 建 一 个 基 于 对 话 框 的 应 用 程 序 就 能 容 易 地 测 试 该 控件 M F C A ppW iz a rd M F C 应 用 程 序 向 导 第 10 章 创 建 A c tiv e X 控 件 - 图1267 为 你 做 了 大 部 分 工 作 在 第 2 章中 已 讨 论 过 用 V is u a l C + + 创 建 基 于 对 话 框 的 应 用 程 序 的 过 程 第 10 章 创 建 A c tiv e X 控 件 - 图1268 我 们 把 这 个 工程 命 名 为 OC XT e s t

第 10 章 创 建 A c tiv e X 控 件 - 图1269

第 10 章 创 建 A c tiv e X 控 件 - 图1270第 10 章 创 建 A c tiv e X 控 件 - 图1271第 10 章 创 建 A c tiv e X 控 件 - 图1272第 10 章 创 建 A c tiv e X 控 件 - 图1273第 10 章 创 建 A c tiv e X 控 件 - 图1274第 10 章 创 建 A c tiv e X 控 件 - 图1275第 10 章 创 建 A c tiv e X 控 件 - 图1276创 建 了 新 工 程 之 后 必 要 时 再 创 建 一 个 窗 体 并 把 A c tiv e X 控 件 添 加 进 去 V is u a l C + + 自 动 地 将 A c tiv e X 控 件 注 册 所 以 前 一 节 中 创 建 的 控 件 就 会 出 现 在 可用 控 件 列 表 中 其 它 程 序 设 计 环 境 可 能 需 要 你 单 独 地 注 册 你 的 A c tiv e X 控 件 第 10 章 创 建 A c tiv e X 控 件 - 图1277图 10 .5 显 示 了 为 调 试 这 一 例 子 而 创 建 的 测 试 程 序 对 话 框 它 还 显 示 了 P rope r ty

第 10 章 创 建 A c tiv e X 控 件 - 图1278第 10 章 创 建 A c tiv e X 控 件 - 图1279第 10 章 创 建 A c tiv e X 控 件 - 图1280属 性 第 10 章 创 建 A c tiv e X 控 件 - 图1281 对 话 框 中 选 中 的 C on tro l 控 件 第 10 章 创 建 A c tiv e X 控 件 - 图1282 属 性 页

第 10 章 创 建 A c tiv e X 控 件 - 图1283

图 10 .5 控件 属性 页对 话框表 明了 这个 按钮的 特殊 特色

第 10 章 创 建 A c tiv e X 控 件 - 图1284第 10 章 创 建 A c tiv e X 控 件 - 图1285第 10 章 创 建 A c tiv e X 控 件 - 图1286第 10 章 创 建 A c tiv e X 控 件 - 图1287第 10 章 创 建 A c tiv e X 控 件 - 图1288绝 大 多 数 程 序 设 计 环 境 还 提 供 了 一 种 方 法 使 得 你 可 以 查 看 与 一 个 控 件 相关 联 的 所 有 属 性 下 图 显 示 了 O C X E xm pl C o n tro l P rope r t ie s 控 件 属 性 第 10 章 创 建 A c tiv e X 控 件 - 图1289 对 话框 的 A ll 页 其 中 O n O ff 属 性 设 置 为 T ru e

第 10 章 创 建 A c tiv e X 控 件 - 图1290第 10 章 创 建 A c tiv e X 控 件 - 图1291第 10 章 创 建 A c tiv e X 控 件 - 图1292第 10 章 创 建 A c tiv e X 控 件 - 图1293第 10 章 创 建 A c tiv e X 控 件 - 图1294也 许 你 想 向 程 序 中 添 加 一 些 测 试 代 码 从 而 能 够 核 查 各 个 控 件 事 件 的 作 用例 如 本 例 中 的 O n / O f f 开 关 按 钮 提 供 了 许 多 依 赖 于 怎 样 设 置 按 钮 属 性 的 模 式 结果 返 回 值 把 O n O ff 属 性 设 置 为 T ru e 则 创 建 了 一 个 开 关 按 钮 M oda l R e s u lt 属

第 10 章 创 建 A c tiv e X 控 件 - 图1295第 10 章 创 建 A c tiv e X 控 件 - 图1296第 10 章 创 建 A c tiv e X 控 件 - 图1297第 10 章 创 建 A c tiv e X 控 件 - 图1298第 10 章 创 建 A c tiv e X 控 件 - 图1299性 在 两 个 值 间 切 换 但 是 也 可 以 从 P rope r tie s 属 性 第 10 章 创 建 A c tiv e X 控 件 - 图1300 对 话 框 的 C on tro l 控件 第 10 章 创 建 A c tiv e X 控 件 - 图1301 页 中 很 容 易 地 选 择 一 种 标 准 按 钮 值

第 10 章 创 建 A c tiv e X 控 件 - 图1302第 一 件 要 做 的 事 是 按 下 CT RL 键 并 双 击 控 件 然 后 看 到 A d d M e m b er V a r iab le

第 10 章 创 建 A c tiv e X 控 件 - 图1303第 10 章 创 建 A c tiv e X 控 件 - 图1304第 10 章 创 建 A c tiv e X 控 件 - 图1305第 10 章 创 建 A c tiv e X 控 件 - 图1306第 10 章 创 建 A c tiv e X 控 件 - 图1307第 10 章 创 建 A c tiv e X 控 件 - 图1308第 10 章 创 建 A c tiv e X 控 件 - 图1309第 10 章 创 建 A c tiv e X 控 件 - 图1310第 10 章 创 建 A c tiv e X 控 件 - 图1311第 10 章 创 建 A c tiv e X 控 件 - 图1312第 10 章 创 建 A c tiv e X 控 件 - 图1313第 10 章 创 建 A c tiv e X 控 件 - 图1314第 10 章 创 建 A c tiv e X 控 件 - 图1315添 加 成 员 变 量 第 10 章 创 建 A c tiv e X 控 件 - 图1316 对 话 框 在 M e m b e r V a r ia b le N a me 第 10 章 创 建 A c tiv e X 控 件 - 图1317 成 员 变 量 名 第 10 章 创 建 A c tiv e X 控 件 - 图1318 域 中 键 入m _ O n O ff B u tto n 还 要 保 证 C a te gor y 范 畴 第 10 章 创 建 A c tiv e X 控 件 - 图1319 域 设 置 成 C on tro l 控 件 第 10 章 创 建 A c tiv e X 控 件 - 图1320 并 且V a r ia b le T y p e 变 量 类 型 第 10 章 创 建 A c tiv e X 控 件 - 图1321 域 设 置 成 CO CX E x m p l 现 在 就 能 够 在 测 试 应 用 程 序中 访 问 控 件 的 属 性 了 用 右 键 单 击 控 件 在 上 下 文 相 关 菜 单 中 选 中 Ev e n ts 就能 看 到 如 下 图 所 示 的 N e w W indow M e s s a ge a nd E v e n t H a nd le rs 新 建 窗 口 消 息和 事 件 处 理 程 序 第 10 章 创 建 A c tiv e X 控 件 - 图1322 对 话 框

第 10 章 创 建 A c tiv e X 控 件 - 图1323

第 10 章 创 建 A c tiv e X 控 件 - 图1324第 10 章 创 建 A c tiv e X 控 件 - 图1325第 10 章 创 建 A c tiv e X 控 件 - 图1326第 10 章 创 建 A c tiv e X 控 件 - 图1327第 10 章 创 建 A c tiv e X 控 件 - 图1328第 10 章 创 建 A c tiv e X 控 件 - 图1329第 10 章 创 建 A c tiv e X 控 件 - 图1330第 10 章 创 建 A c tiv e X 控 件 - 图1331第 10 章 创 建 A c tiv e X 控 件 - 图1332请 注 意 V is u a l C + + 自 动 地 选 择 了 C lic k 单 击 第 10 章 创 建 A c tiv e X 控 件 - 图1333 事 件 和ID C _ OC XE XM P L C T R L 1 对 象 需 要 你 做 的 工 作 是 单 击 A dd a nd E d it 添 加 与编 辑 第 10 章 创 建 A c tiv e X 控 件 - 图1334 按 钮 来 向 你 的 程 序 中 添 加 一 个 新 函 数 看 到 A dd M e m b e r F unc tion 添 加成 员 函 数 第 10 章 创 建 A c tiv e X 控 件 - 图1335 对 话 框 后 接 受 缺 省 函 数 名 并 单 击 OK 这 时 就 会 看 到 这 个 按 钮 的函 数 框 架

第 10 章 创 建 A c tiv e X 控 件 - 图1336第 10 章 创 建 A c tiv e X 控 件 - 图1337程 序 列 表 10 .6 是 这 个 例 子 的 C+ + 测 试 代 码 请 注 意 V is u a l C + + 自 动 为 控

第 10 章 创 建 A c tiv e X 控 件 - 图1338第 10 章 创 建 A c tiv e X 控 件 - 图1339第 10 章 创 建 A c tiv e X 控 件 - 图1340第 10 章 创 建 A c tiv e X 控 件 - 图1341第 10 章 创 建 A c tiv e X 控 件 - 图1342第 10 章 创 建 A c tiv e X 控 件 - 图1343第 10 章 创 建 A c tiv e X 控 件 - 图1344第 10 章 创 建 A c tiv e X 控 件 - 图1345第 10 章 创 建 A c tiv e X 控 件 - 图1346第 10 章 创 建 A c tiv e X 控 件 - 图1347件 创 建 的 G e tM o d a lR e s u lt() 封 装 类 函 数 的 使 用 在 OC XE XM P L E . H 文 件 中 可以 找 到 V is u a l C + + 为 你 制 作 的 全 部 说 明 因 为 头 文 件 说 明 了 V is u a l C + + 是 如 何与 控 件 打 交 道 的 所 以 看 一 下 这 个 头 文 件 是 有 启 发 意 义 的 看 一 下 这 个 文 件能 帮 助 你 找 出 可 能 漏 掉 的 接 口 问 题 第 10 章 创 建 A c tiv e X 控 件 - 图1348 特 别 是 如 果 你 不 对 控 件 的 每 个 属 性 进 行完 全 测 试 时 更 是 如 此 第 10 章 创 建 A c tiv e X 控 件 - 图1349

注 释 创 建 OnClickOcx exmplctrl1() 函 数 的 方 法 有 多 种 最 简 单 的 方 法 是使 用 M FC ClassW izard 第 10 章 创 建 A c tiv e X 控 件 - 图1350 类 向 导 第 10 章 创 建 A c tiv e X 控 件 - 图1351 第 10 章 创 建 A c tiv e X 控 件 - 图1352 使 用 View 第 10 章 创 建 A c tiv e X 控 件 - 图1353 视 图 第 10 章 创 建 A c tiv e X 控 件 - 图1354 |ClassWiza rd 第 10 章 创 建 A c tiv e X 控 件 - 图1355类 向 导 第 10 章 创 建 A c tiv e X 控 件 - 图1356 命 令 显 示 这 个 向 导 第 10 章 创 建 A c tiv e X 控 件 - 图1357 在 Object I D s 第 10 章 创 建 A c tiv e X 控 件 - 图1358 对 象 标 识 第 10 章 创 建 A c tiv e X 控 件 - 图1359 列 表框 中 选 中 IDC_OCXEXM PLCTRL1 项 并 在 Messages 第 10 章 创 建 A c tiv e X 控 件 - 图1360 消 息 第 10 章 创 建 A c tiv e X 控 件 - 图1361 列 表 框 中选 中 Click 项 这 时 单 击 Add Function 第 10 章 创 建 A c tiv e X 控 件 - 图1362 添 加 函 数 第 10 章 创 建 A c tiv e X 控 件 - 图1363 按 钮 就 把 函数 添 加 到 了 你 的 程 序 中

第 10 章 创 建 A c tiv e X 控 件 - 图1364第 10 章 创 建 A c tiv e X 控 件 - 图1365第 10 章 创 建 A c tiv e X 控 件 - 图1366第 10 章 创 建 A c tiv e X 控 件 - 图1367程 序 列 表 10.6

v o id C O C X T e s t D lg ::O n C lic k O c x e x m p lc trl1 ( )

{

//G e t th e c u r re n t M o d a lR e su lt v a lu e lo n g liM o d a l R e s u lt;

liM o d a l R e s u lt = m _ O n O f f B u tto n . G e tM o d a l R e su lt() ;

//D e te rm in e w h ic h m o d a l re s u lt w a s re tu rn e d a n d d is p la y a m e s s a g e . s w i tc h ( liM o d a l R e su lt)

{

cas e - 1 :

M e s s ag eb o x ( " N o ne bu t to n p res se d " ," S tate o f con tro l" , M B _ O K ) ; b re a k ;

cas e 1 :

M e s s a g e b ox ( " O K bu tton p re s s e d" ," S ta te of c on tro l" ,M B _ O K ) ; b re a k ;

cas e 2 :

M e s s a g e b ox ( " C a n c e l bu tton p re s s e d " ," S ta te of c on tro l" ,M B _ O K ) ; b re a k ;

cas e 3 :

M e s s a g e b ox ( " A b o r t bu tto n pre s s e d" ," S ta te of c on tro l" , M B _ O K ) ; b re a k ;

cas e 4 :

M e s s a g e b ox ( " R e try bu tto n pre s se d" ," S ta te of c o n tro l" ,M B _ O K ) ; b re a k ;

cas e 5 :

M e s s a g e b ox ( " Ig n o re bu tto n pre ss e d " ," S ta te of c o n tro l" , M B _ O K ) ; b re a k ;

cas e 6 :

M e s s ag eb o x ( " Y e s b u t to n p res se d " ," S tate o f co n tro l" , M B _ O K ) ;

b re a k ; cas e 7 :

M e s s a g e b ox (" N o b u t ton pre s se d" ," S ta te o f c o n tro l" ,M B _ O K ) ; b re a k ;

cas e 8 :

M e s s a g e b o x ( " B u tto n is O n " ," S ta te o f c o n tro l" ,M B _ O K ) ; b re a k ;

cas e 9 :

M e s s ag eb o x ( " B u t to n is O f f " ," S tate o f co n tro l" , M B _ O K ) ; b re a k ;

}

}

第 10 章 创 建 A c tiv e X 控 件 - 图1368第 10 章 创 建 A c tiv e X 控 件 - 图1369第 10 章 创 建 A c tiv e X 控 件 - 图1370第 10 章 创 建 A c tiv e X 控 件 - 图1371第 10 章 创 建 A c tiv e X 控 件 - 图1372第 10 章 创 建 A c tiv e X 控 件 - 图1373第 10 章 创 建 A c tiv e X 控 件 - 图1374第 10 章 创 建 A c tiv e X 控 件 - 图1375第 10 章 创 建 A c tiv e X 控 件 - 图1376第 10 章 创 建 A c tiv e X 控 件 - 图1377第 10 章 创 建 A c tiv e X 控 件 - 图1378第 10 章 创 建 A c tiv e X 控 件 - 图1379第 10 章 创 建 A c tiv e X 控 件 - 图1380第 10 章 创 建 A c tiv e X 控 件 - 图1381我 们 已 创 建 了 一 个 简 单 窗 体 并 把 你 的 控 件 添 加 到 该 窗 体 上 面 试 着 测 试 一下 它 吧 示 例 程 序 将 显 示 一 个 简 单 的 带 有 A c tiv e X 控 件 的 对 话 框 单 击 控 件就 会 看 到 另 一 个 对 话 框 其 中 显 示 了 按 钮 的 状 态 如 图 10 .6 所 示 单 击 OK 或C a n c e l 控 钮 由 V is u a l C + + 自 动 提 供 第 10 章 创 建 A c tiv e X 控 件 - 图1382 就 结 束 本 程 序 如 前 所 述 这 是 对 控 件基 本 功 能 的 简 单 测 试 到 现 在 为 止 我 们 核 查 了 属 性 页 属 性 和 使 用 控 件 的 结果

第 10 章 创 建 A c tiv e X 控 件 - 图1383

第 10 章 创 建 A c tiv e X 控 件 - 图1384图 10 .6 O n O ff 控件 按预 期方 式工作 返回 模式 结 果 值

第 10 章 创 建 A c tiv e X 控 件 - 图1385内 部 测 试 阶 段 2 在 浏 览 器 内 进 行 本 地 测 试

第 10 章 创 建 A c tiv e X 控 件 - 图1386第 10 章 创 建 A c tiv e X 控 件 - 图1387第 10 章 创 建 A c tiv e X 控 件 - 图1388第 10 章 创 建 A c tiv e X 控 件 - 图1389第 10 章 创 建 A c tiv e X 控 件 - 图1390第 10 章 创 建 A c tiv e X 控 件 - 图1391第 10 章 创 建 A c tiv e X 控 件 - 图1392第 10 章 创 建 A c tiv e X 控 件 - 图1393第 10 章 创 建 A c tiv e X 控 件 - 图1394第 10 章 创 建 A c tiv e X 控 件 - 图1395到 现 在 为 止 我 们 还 没 有 在 本 章 中 做 一 些 哪 怕 是 远 远 地 接 近 一 下 在 W e b 页中 工 作 的 事 至 于 向 W e b 页 中 添 加 A c tiv e X 控 件 涉 及 得 就 更 少 了 在 第 8 章中 我 们 确 实 研 究 过 使 用 W e b 页 问 题 如 果 想 了 解 使 用 In te rn e t 的 简 单 情 况 时一 定 去 读 一 下 这 一 章 第 10 章 创 建 A c tiv e X 控 件 - 图1396 该 变 化 一 下 了 测 试 过 程 的 下 一 步 就 是 把 控 件 插 入 到一 个 HT M L 文 档 中 我 们 再 次 使 用 一 个 非 常 简 单 的 设 置

第 10 章 创 建 A c tiv e X 控 件 - 图1397第 10 章 创 建 A c tiv e X 控 件 - 图1398第 10 章 创 建 A c tiv e X 控 件 - 图1399第 10 章 创 建 A c tiv e X 控 件 - 图1400第 10 章 创 建 A c tiv e X 控 件 - 图1401第 10 章 创 建 A c tiv e X 控 件 - 图1402第 10 章 创 建 A c tiv e X 控 件 - 图1403注 释 在 这 一 节 中 我 们 使 用 一 个 非 常 简 单 而 且 容 易 使 用 的 实 用 程 序 如果 计 划 设 计 许 多 普 通 的 或 高 难 度 的 W e b 页 那 么 应 该 考 虑 使 用 某 个工 具 比 如 Visual I nterDev 但 ActiveX Co ntrol Pad 用 作 测 试工 具 或 用 作 设 计 简 单 W e b 页 更 好 使 用 些

第 10 章 创 建 A c tiv e X 控 件 - 图1404第 10 章 创 建 A c tiv e X 控 件 - 图1405第 10 章 创 建 A c tiv e X 控 件 - 图1406第 10 章 创 建 A c tiv e X 控 件 - 图1407第 10 章 创 建 A c tiv e X 控 件 - 图1408M ic ros oft 提 供 了 一 个 A c tiv e X C o n tro l P a d 实 用 程 序 可 用 于 测 试 控 件时 快 速 建 立 HT M L 页 图 10 .7 是 第 一 次 打 开 这 个 实 用 程 序 时 的 样 子 还 可 以 用它 创 建 功 能 强 大 的 W e b 页 第 8 章 我 们 讨 论 过 创 建 过 程 第 10 章 创 建 A c tiv e X 控 件 - 图1409

第 10 章 创 建 A c tiv e X 控 件 - 图1410

图 10 .7 A c t iv e X C o n tro l P a d 允 许 快速 地设 计一 个 HT M L 页来 测试 你的 控件

第 10 章 创 建 A c tiv e X 控 件 - 图1411第 10 章 创 建 A c tiv e X 控 件 - 图1412第 10 章 创 建 A c tiv e X 控 件 - 图1413第 10 章 创 建 A c tiv e X 控 件 - 图1414第 10 章 创 建 A c tiv e X 控 件 - 图1415第 10 章 创 建 A c tiv e X 控 件 - 图1416第 10 章 创 建 A c tiv e X 控 件 - 图1417第 10 章 创 建 A c tiv e X 控 件 - 图1418第 10 章 创 建 A c tiv e X 控 件 - 图1419第 10 章 创 建 A c tiv e X 控 件 - 图1420第 10 章 创 建 A c tiv e X 控 件 - 图1421为 了 创 建 用 于 测 试 A c tiv e X 控 件 的 HT M L 页 使 用 Ed it 编 辑 第 10 章 创 建 A c tiv e X 控 件 - 图1422 |Ins e r t A c tive X C on tro l 插 入 A c tiv e X 控 件 第 10 章 创 建 A c tiv e X 控 件 - 图1423 命 令 显 示 出 In s e r t A c tiv e X C o n tro l 插 入 A c tiv e X 控 件 第 10 章 创 建 A c tiv e X 控 件 - 图1424 对 话 框 从 提 供 的 列 表 中 选 择 你 的 控 件 单 击 OK 就 会 看 到 A c tiv e X 控件 已 装 入 如 图 10 .8 所 示 正 常 情 况 下 应 该 把 该 控 件 放 入 一 个 窗 体 中 但 这

第 10 章 创 建 A c tiv e X 控 件 - 图1425儿 唯 一 的 目 的 只 是 测 试 它 而 已

第 10 章 创 建 A c tiv e X 控 件 - 图1426第 10 章 创 建 A c tiv e X 控 件 - 图1427第 10 章 创 建 A c tiv e X 控 件 - 图1428第 10 章 创 建 A c tiv e X 控 件 - 图1429第 10 章 创 建 A c tiv e X 控 件 - 图1430第 10 章 创 建 A c tiv e X 控 件 - 图1431第 10 章 创 建 A c tiv e X 控 件 - 图1432第 10 章 创 建 A c tiv e X 控 件 - 图1433第 10 章 创 建 A c tiv e X 控 件 - 图1434每 装 入 一 个 新 控 件 A c tiv e X C o n tro l P a d 都 会 自 动 地 显 示 出 P rope r tie s 属性 第 10 章 创 建 A c tiv e X 控 件 - 图1435 对 话 框 如 图 10 .8 所 示 这 个 对 话 框 包 含 了 这 个 控 件 的 已 发 布 的 ( pub lis he d) 属 性 的 标 准 列 表 请 留 意 图 10 .8 还 显 示 出 了 G e n e ra l 属 性 页 通 过 用 右 键 单 击控 件 并 在 关 联 菜 单 中 选 择 所 需 的 项 就 可 显 示 出 这 个 页 对 我 们 的 示 例 来 说

第 10 章 创 建 A c tiv e X 控 件 - 图1436第 10 章 创 建 A c tiv e X 控 件 - 图1437要 选 择 第 二 个 P rope r tie s 属 性 第 10 章 创 建 A c tiv e X 控 件 - 图1438

第 10 章 创 建 A c tiv e X 控 件 - 图1439第 10 章 创 建 A c tiv e X 控 件 - 图1440第 10 章 创 建 A c tiv e X 控 件 - 图1441第 10 章 创 建 A c tiv e X 控 件 - 图1442第 10 章 创 建 A c tiv e X 控 件 - 图1443第 10 章 创 建 A c tiv e X 控 件 - 图1444第 10 章 创 建 A c tiv e X 控 件 - 图1445我 们 需 要 改 变 的 唯 一 一 个 属 性 是 P rope r tie s ( 属 性 第 10 章 创 建 A c tiv e X 控 件 - 图1446 对 话 框 中 的 O n O ff 属 性把 它 变 成 T ru e 然 后 关 闭 包 含 控 件 的 对 话 框 A c tiv e X C o n tro l P a d 就 向 HT M L 页 脚 本 添 加 一 个 标 记 如 果 看 不 懂 HT M L 页 上 的 专 用 术 语 的 话 请 到 第 8 章 找出 对 HT M L 标 记 的 说 明 第 10 章 创 建 A c tiv e X 控 件 - 图1447 请 注 意 该 项 包 含 了 控 件 的 C L A SS ID 和 所 有 需 要 设置 的 属 性

第 10 章 创 建 A c tiv e X 控 件 - 图1448

图 10 .8 A c t iv e X C o n tro l P a d 在 装 入你 的控 件后 就 显 示 它

第 10 章 创 建 A c tiv e X 控 件 - 图1449第 10 章 创 建 A c tiv e X 控 件 - 图1450第 10 章 创 建 A c tiv e X 控 件 - 图1451第 10 章 创 建 A c tiv e X 控 件 - 图1452第 10 章 创 建 A c tiv e X 控 件 - 图1453第 10 章 创 建 A c tiv e X 控 件 - 图1454第 10 章 创 建 A c tiv e X 控 件 - 图1455技 巧 你 在 HTML 脚 本 中 紧 挨 着 <OBJECT> 标 记 的 地 方 会 看 到 一 个 小 按 钮 单击 这 个 按 钮 再 次 显 示 这 个 控 件 从 而 可 以 编 辑 它 的 属 性 每 当 你 把一 个 A ctiveX 控 件 或 一 个 HTML 页 框 架 放 入 脚 本 时 ActiveX Control P a d 就 显 示 这 个 按 钮 使 你 能 容 易 地 按 需 要 编 辑 控 件 或 页 面 布 局

第 10 章 创 建 A c tiv e X 控 件 - 图1456第 10 章 创 建 A c tiv e X 控 件 - 图1457第 10 章 创 建 A c tiv e X 控 件 - 图1458第 10 章 创 建 A c tiv e X 控 件 - 图1459第 10 章 创 建 A c tiv e X 控 件 - 图1460第 10 章 创 建 A c tiv e X 控 件 - 图1461第 10 章 创 建 A c tiv e X 控 件 - 图1462第 10 章 创 建 A c tiv e X 控 件 - 图1463第 10 章 创 建 A c tiv e X 控 件 - 图1464第 10 章 创 建 A c tiv e X 控 件 - 图1465第 10 章 创 建 A c tiv e X 控 件 - 图1466第 10 章 创 建 A c tiv e X 控 件 - 图1467第 10 章 创 建 A c tiv e X 控 件 - 图1468第 10 章 创 建 A c tiv e X 控 件 - 图1469第 10 章 创 建 A c tiv e X 控 件 - 图1470第 10 章 创 建 A c tiv e X 控 件 - 图1471第 10 章 创 建 A c tiv e X 控 件 - 图1472第 10 章 创 建 A c tiv e X 控 件 - 图1473第 10 章 创 建 A c tiv e X 控 件 - 图1474使 用 工 具 栏 上 的 Sa v e 保 留 第 10 章 创 建 A c tiv e X 控 件 - 图1475 按 钮 保 存 示 例 HT M L 页 面 我 将 其 命 名 为Te s t P a g e .H TM 关 闭 A c tiv e X C o n tro l P a d 然 后 使 用 你 喜 欢 的 与 A c tiv e X 兼容 的 W e b 浏 览 器 写 作 本 书 时 仅 限 于 In te rn e t E x p lo re r 和 使 用 使 用 NC o m p a s s S c r ip t A c tiv e 插 件 的 N e ts c a p e N a v ig a to r 第 10 章 创 建 A c tiv e X 控 件 - 图1476 打 开 这 个 HT M L 页 面 如 果 你 使 用In te rn e t E xp lore r 要 保 证 把 浏 览 器 的 安 全 层 次 设 为 中 等 设 置 安 全 层 次 的 步 骤是 使 用 V ie w 视 图 第 10 章 创 建 A c tiv e X 控 件 - 图1477 |O p tions 选 项 第 10 章 创 建 A c tiv e X 控 件 - 图1478 命 令 选 择 S ecu r ity 安 全 第 10 章 创 建 A c tiv e X 控 件 - 图1479 页 在这 个 页 中 单 击 Sa fe ty L e v e l 安 全 层 次 第 10 章 创 建 A c tiv e X 控 件 - 图1480 按 钮 即 可

第 10 章 创 建 A c tiv e X 控 件 - 图1481注 要 保 证 保 存 的 测 试 用 W e b 页 的 文 件 扩 展 名 为 H T M

第 10 章 创 建 A c tiv e X 控 件 - 图1482第 10 章 创 建 A c tiv e X 控 件 - 图1483第 10 章 创 建 A c tiv e X 控 件 - 图1484第 10 章 创 建 A c tiv e X 控 件 - 图1485第 10 章 创 建 A c tiv e X 控 件 - 图1486第 10 章 创 建 A c tiv e X 控 件 - 图1487第 10 章 创 建 A c tiv e X 控 件 - 图1488第 10 章 创 建 A c tiv e X 控 件 - 图1489第 10 章 创 建 A c tiv e X 控 件 - 图1490第 10 章 创 建 A c tiv e X 控 件 - 图1491第 10 章 创 建 A c tiv e X 控 件 - 图1492装 入 Te s t P a g e .H TM 文 件 后 所 看 到 的 如 图 10 .9 所 示 现 在 看 上 去 并 不 使人 肃 然 起 敬 但 控 件 却 能 做 那 些 标 准 HT M L 页 按 钮 做 不 到 的 事 单 击 按 钮 就会 看 到 标 题 在 On 和 O ff 间 切 换 你 还 能 监 测 按 钮 的 模 式 结 果 值 并 确 定 它 处 于什 么 状 态 所 有 这 一 切 一 行 CG I 脚 本 代 码 也 不 用 写 就 做 到 了 本 章 后 面 将讨 论 从 A c tiv e X 控 件 中 得 到 信 息 的 方 法 第 10 章 创 建 A c tiv e X 控 件 - 图1493

第 10 章 创 建 A c tiv e X 控 件 - 图1494

第 10 章 创 建 A c tiv e X 控 件 - 图1495第 10 章 创 建 A c tiv e X 控 件 - 图1496图 10 .9 A c t iv e X 控件 在这 个页 上能做 通常 控件 做不到 的事 单击 它时 它 在两种 状态 之间 切换

第 10 章 创 建 A c tiv e X 控 件 - 图1497第 10 章 创 建 A c tiv e X 控 件 - 图1498第 10 章 创 建 A c tiv e X 控 件 - 图1499第 10 章 创 建 A c tiv e X 控 件 - 图1500第 10 章 创 建 A c tiv e X 控 件 - 图1501第 10 章 创 建 A c tiv e X 控 件 - 图1502第 10 章 创 建 A c tiv e X 控 件 - 图1503第 10 章 创 建 A c tiv e X 控 件 - 图1504第 10 章 创 建 A c tiv e X 控 件 - 图1505第 10 章 创 建 A c tiv e X 控 件 - 图1506第 10 章 创 建 A c tiv e X 控 件 - 图1507第 10 章 创 建 A c tiv e X 控 件 - 图1508注 释 也 许 你 会 看 到 Satety Violation 第 10 章 创 建 A c tiv e X 控 件 - 图1509 安 全 被 破 坏 第 10 章 创 建 A c tiv e X 控 件 - 图1510 对 话 框 它 告 诉你 本 页 的 ActiveX 控 件 含 有 不 安 全 代 码 这 是 因 为 我 们 还 没 有 把 它 注册 (mark) 为 安 全 的 在 第 1 4 章 中 会 学 到 关 于 安 全 性 的 知 识 第 1 4 章中 包 括 了 一 旦 控 件 完 全 测 试 完 成 后 怎 样 把 它 注 册 为 安 全 的 现 在 暂且 不 用 理 会 这 条 消 息 4.2 版 以 上 的 Microsoft Visual C+ + 提 供 的工 具 负 责 处 理 这 些 细 节 第 10 章 创 建 A c tiv e X 控 件 - 图1511 至 少 提 供 一 个 菜 单 使 你 不 必 回 到 D O S 提 示 符下 第 10 章 创 建 A c tiv e X 控 件 - 图1512 本 章 开 头 我 就 说 过 可 以 用 旧 编 译 器 编 译 ActiveX 控 件 但 新的 编 译 器 使 得 做 这 类 事 更 方 便 上 面 的 情 形 就 是 其 中 的 一 个 方 面

第 10 章 创 建 A c tiv e X 控 件 - 图1513第 10 章 创 建 A c tiv e X 控 件 - 图1514第 10 章 创 建 A c tiv e X 控 件 - 图1515第 10 章 创 建 A c tiv e X 控 件 - 图1516第 10 章 创 建 A c tiv e X 控 件 - 图1517第 10 章 创 建 A c tiv e X 控 件 - 图1518第 10 章 创 建 A c tiv e X 控 件 - 图1519现 在 已 在 C+ + 和 本 地 A c tiv e X 文 档 中 测 试 了 控 件 的 基 本 功 能 在 移 到 网络 上 去 之 前 应 该 试 试 控 件 的 各 种 变 换 比 如 O n O ff 控 件 应 能 在 其 它 几 个 标准 配 置 中 工 作 试 一 下 看 看 它 们 是 否 真 能 工 作

第 10 章 创 建 A c tiv e X 控 件 - 图1520第 10 章 创 建 A c tiv e X 控 件 - 图1521第 10 章 创 建 A c tiv e X 控 件 - 图1522第 10 章 创 建 A c tiv e X 控 件 - 图1523第 10 章 创 建 A c tiv e X 控 件 - 图1524第 10 章 创 建 A c tiv e X 控 件 - 图1525第 10 章 创 建 A c tiv e X 控 件 - 图1526第 10 章 创 建 A c tiv e X 控 件 - 图1527第 10 章 创 建 A c tiv e X 控 件 - 图1528第 10 章 创 建 A c tiv e X 控 件 - 图1529现 在 要 把 O n O ff 控 件 与 其 它 控 件 集 成 在 一 起 使 用 了 我 们 在 A c tiv e X C o n tro l Pa d 中 新 建 一 个 HT M L 页 我 们 先 创 建 一 个 新 的 HT M L 框 架 然 后 把 O n O ff 控件 放 入 这 个 框 架 使 用 F ile 文 件 第 10 章 创 建 A c tiv e X 控 件 - 图1530 |N e w H T M L L a y out第 10 章 创 建 A c tiv e X 控 件 - 图1531 新 建 HT M L 框 架 第 10 章 创 建 A c tiv e X 控 件 - 图1532 命令 创 建 一 个 如 图 10 .10 所 示 的 窗 体 这 个 图 还 显 示 了 在 下 面 段 落 中 要 添 加 的O n / O f f 控 件 第 10 章 创 建 A c tiv e X 控 件 - 图1533 就 是 在 这 里 你 可 以 拖 几 个 组 件 来 与 O n O ff 控 件 集 成 在 一 起

第 10 章 创 建 A c tiv e X 控 件 - 图1534第 10 章 创 建 A c tiv e X 控 件 - 图1535第 10 章 创 建 A c tiv e X 控 件 - 图1536第 10 章 创 建 A c tiv e X 控 件 - 图1537第 10 章 创 建 A c tiv e X 控 件 - 图1538注 意 到 示 例 框 架 中 为 了 进 行 测 试 只 把 几 个 控 件 放 到 了 窗 体 上 在 这 时 确 实不 必 添 加 太 多 的 复 杂 性 只 要 有 足 够 的 信 息 来 保 证 控 件 能 在 一 个 标 准 的 HT M L 环 境 中 工 作 就 可 以 了

第 10 章 创 建 A c tiv e X 控 件 - 图1539第 10 章 创 建 A c tiv e X 控 件 - 图1540第 10 章 创 建 A c tiv e X 控 件 - 图1541注 有 趣 的 是 我 们 在 工 具 箱 中 看 到 的 所 有 控 件 实 际 上 都 是 ActiveX 控件 而 不 是 标 准 HTML 控 件

第 10 章 创 建 A c tiv e X 控 件 - 图1542第 10 章 创 建 A c tiv e X 控 件 - 图1543第 10 章 创 建 A c tiv e X 控 件 - 图1544这 次 添 加 A c tiv e X 控 件 的 过 程 与 以 前 有 些 不 同 右 击 T oo lb o x 工 具 箱 第 10 章 创 建 A c tiv e X 控 件 - 图1545

第 10 章 创 建 A c tiv e X 控 件 - 图1546第 10 章 创 建 A c tiv e X 控 件 - 图1547第 10 章 创 建 A c tiv e X 控 件 - 图1548第 10 章 创 建 A c tiv e X 控 件 - 图1549第 10 章 创 建 A c tiv e X 控 件 - 图1550就 会 看 到 上 下 文 菜 单 选 择 A dd itiona l C o n tro ls 附 加 控 件 第 10 章 创 建 A c tiv e X 控 件 - 图1551 选 项 就 会 看 到如 下 图 所 示 的 A d d itio n a l C o n tro ls 附 加 控 件 第 10 章 创 建 A c tiv e X 控 件 - 图1552 对 话 框

第 10 章 创 建 A c tiv e X 控 件 - 图1553

第 10 章 创 建 A c tiv e X 控 件 - 图1554第 10 章 创 建 A c tiv e X 控 件 - 图1555第 10 章 创 建 A c tiv e X 控 件 - 图1556第 10 章 创 建 A c tiv e X 控 件 - 图1557第 10 章 创 建 A c tiv e X 控 件 - 图1558第 10 章 创 建 A c tiv e X 控 件 - 图1559第 10 章 创 建 A c tiv e X 控 件 - 图1560A d d itio n a l C o n tro ls 附 加 控 件 第 10 章 创 建 A c tiv e X 控 件 - 图1561 对 话 框 包 含 了 你 的 机 器 上 全 部 A c tiv e X 控件 的 完 整 列 表 实 际 上 不 用 管 这 些 控 件 会 不 会 是 OC X 第 10 章 创 建 A c tiv e X 控 件 - 图1562 还 能 够 选 择 显 示 出 可插 入 对 象 的 完 整 列 表 例 如 你 可 以 把 M ic ros oft W o rd 文 档 或 一 个 Ex c e l 电 子表 格 放 入 窗 体 在 第 11 章 我 们 将 讨 论 这 个 特 殊 过 程

第 10 章 创 建 A c tiv e X 控 件 - 图1563第 10 章 创 建 A c tiv e X 控 件 - 图1564第 10 章 创 建 A c tiv e X 控 件 - 图1565第 10 章 创 建 A c tiv e X 控 件 - 图1566第 10 章 创 建 A c tiv e X 控 件 - 图1567第 10 章 创 建 A c tiv e X 控 件 - 图1568第 10 章 创 建 A c tiv e X 控 件 - 图1569第 10 章 创 建 A c tiv e X 控 件 - 图1570第 10 章 创 建 A c tiv e X 控 件 - 图1571第 10 章 创 建 A c tiv e X 控 件 - 图1572第 10 章 创 建 A c tiv e X 控 件 - 图1573第 10 章 创 建 A c tiv e X 控 件 - 图1574第 10 章 创 建 A c tiv e X 控 件 - 图1575第 10 章 创 建 A c tiv e X 控 件 - 图1576从 列 表 中 选 中 OC XE x m p l 可 选 项 或 者 是 你 命 名 的 控 件 名 称 第 10 章 创 建 A c tiv e X 控 件 - 图1577 要 保 证 确实 把 挨 着 这 个 控 件 的 复 选 框 选 中 否 则 A c tiv e X C o n tro l P a d 不 安 装 它 单 击OK 则 大 功 告 成 你 会 看 到 一 个 新 控 件 添 加 到 了 你 的 T oo lb o x 工 具 箱 第 10 章 创 建 A c tiv e X 控 件 - 图1578 中 抓取 住 它 并 把 它 挨 着 Co m m a n d 命 令 第 10 章 创 建 A c tiv e X 控 件 - 图1579 按 钮 放 下 如 图 10 .10 所 示 和 以 前 一 样如 果 使 用 本 章 中 的 示 例 控 件 就 要 保 证 把 它 的 O n O ff 属 性 设 置 成 T ru e

第 10 章 创 建 A c tiv e X 控 件 - 图1580第 10 章 创 建 A c tiv e X 控 件 - 图1581第 10 章 创 建 A c tiv e X 控 件 - 图1582第 10 章 创 建 A c tiv e X 控 件 - 图1583第 10 章 创 建 A c tiv e X 控 件 - 图1584第 10 章 创 建 A c tiv e X 控 件 - 图1585第 10 章 创 建 A c tiv e X 控 件 - 图1586第 10 章 创 建 A c tiv e X 控 件 - 图1587第 10 章 创 建 A c tiv e X 控 件 - 图1588第 10 章 创 建 A c tiv e X 控 件 - 图1589第 10 章 创 建 A c tiv e X 控 件 - 图1590第 10 章 创 建 A c tiv e X 控 件 - 图1591第 10 章 创 建 A c tiv e X 控 件 - 图1592完 成 编 辑 后 保 存 你 的 框 架 然 后 关 闭 本 页 A c tiv e X C o n tro l P a d 将 向 HT M L 脚 本 添 加 一 个 <O B J E C T > 标 记 就 如 同 前 面 为 我 们 测 试 的 A c tiv e X C o n tro l 页 所做 的 工 作 那 样 当 然 这 时 的 不 同 点 是 我 们 看 到 了 一 整 页 控 件 而 不 是 仅 仅 只有 一 个 控 件 在 页 上 呆 着 保 存 新 的 测 试 页 然 后 再 用 浏 览 器 打 开 它 看 看 控 件 能不 能 工 作 在 这 种 环 境 下 对 控 件 进 行 测 试 后 你 就 可 以 使 用 我 们 刚 才 建 立 的 两个 页 移 兵 到 网 络 中 进 行 测 试 了

第 10 章 创 建 A c tiv e X 控 件 - 图1593

图 10 .10 测试 A c t iv e X 控件 的第 二步 工作是 看一 下它 能否与 其它 现存的 HT M L 控件 一起 工作

第 10 章 创 建 A c tiv e X 控 件 - 图1594内 部 测 试 阶 段 3 使 用 网 络 连 接 测 试 整 个 W e b 页

第 10 章 创 建 A c tiv e X 控 件 - 图1595第 10 章 创 建 A c tiv e X 控 件 - 图1596第 10 章 创 建 A c tiv e X 控 件 - 图1597第 10 章 创 建 A c tiv e X 控 件 - 图1598第 10 章 创 建 A c tiv e X 控 件 - 图1599第 10 章 创 建 A c tiv e X 控 件 - 图1600第 10 章 创 建 A c tiv e X 控 件 - 图1601第 10 章 创 建 A c tiv e X 控 件 - 图1602第 10 章 创 建 A c tiv e X 控 件 - 图1603第 10 章 创 建 A c tiv e X 控 件 - 图1604第 10 章 创 建 A c tiv e X 控 件 - 图1605第 10 章 创 建 A c tiv e X 控 件 - 图1606在 网 络 上 测 试 控 件 的 方 法 相 当 多 唯 一 的 要 求 是 要 有 两 台 机 器 一 个 是 服务 器 一 个 是 客 户 机 并 使 用 TC P / IP 协 议 将 它 们 连 接 起 来 你 还 可 以 在 服 务 器上 运 行 H TTP 服 务 程 序 幸 运 的 是 W ind ow s N T 4 .0 的 两 个 版 本 都 自 带 有 小 型的 H TTP 服 务 器 你 可 以 用 它 进 行 测 试 事 实 上 W ind ow s N T 的 新 版 本 还 将包 括 FT P 和 G ophe r 服 务 器

Web 链 接 Windows 95 用 户 进 行 W e b 页 的 本 地 测 试 时 不 用 再 羡 慕 Windows NT 邻 居 了 现 在 也 可 以 得 到 Windows 95 的 个 人 Web 服 务 器 了

第 10 章 创 建 A c tiv e X 控 件 - 图1607第 10 章 创 建 A c tiv e X 控 件 - 图1608第 10 章 创 建 A c tiv e X 控 件 - 图1609第 10 章 创 建 A c tiv e X 控 件 - 图1610第 10 章 创 建 A c tiv e X 控 件 - 图1611第 10 章 创 建 A c tiv e X 控 件 - 图1612Windows95 的 OSR2 版 的 拥 有 者 已 把 这 一 特 色 作 为 软 件 包 的 一 部 分 使用 了 这 只 需 打 开 Network Propertie s 第 10 章 创 建 A c tiv e X 控 件 - 图1613 网 络 属 性 第 10 章 创 建 A c tiv e X 控 件 - 图1614 对 话 框 并 安装 它 就 可 以 了 如 果 你 的 Windows95 是 老 版 本 你 可 以 从http://www .microsoft .com/msdownload/iepl atform

第 10 章 创 建 A c tiv e X 控 件 - 图1615/iewin95/1 0000.htm 下 载 所 需 的 支 持 在 http://www .microsoft.com

第 10 章 创 建 A c tiv e X 控 件 - 图1616/windows/p r/win95osr.htm 可 以 发 现 为 Windows95 可 以 下 载 哪 些 O S R 功 能

第 10 章 创 建 A c tiv e X 控 件 - 图1617第 10 章 创 建 A c tiv e X 控 件 - 图1618第 10 章 创 建 A c tiv e X 控 件 - 图1619第 10 章 创 建 A c tiv e X 控 件 - 图1620第 10 章 创 建 A c tiv e X 控 件 - 图1621第 10 章 创 建 A c tiv e X 控 件 - 图1622第 10 章 创 建 A c tiv e X 控 件 - 图1623第 10 章 创 建 A c tiv e X 控 件 - 图1624第 10 章 创 建 A c tiv e X 控 件 - 图1625第 10 章 创 建 A c tiv e X 控 件 - 图1626第 10 章 创 建 A c tiv e X 控 件 - 图1627第 10 章 创 建 A c tiv e X 控 件 - 图1628第 10 章 创 建 A c tiv e X 控 件 - 图1629你 要 保 证 能 用 标 准 浏 览 器 和 你 指 定 的 域 名 与 服 务 器 通 信 不 要 错 误 地 认 为可 以 通 过 像 浏 览 器 如 E xp lo re r 第 10 章 创 建 A c tiv e X 控 件 - 图1630 这 样 的 东 西 访 问 服 务 器 然 后 双 击 测 试 页不 错 这 将 打 开 浏 览 器 你 将 看 到 你 的 测 试 页 但 是 你 将 使 这 一 测 试 阶 段 的目 的 遭 受 挫 折 通 过 E xp lore r 或 文 件 管 理 器 (F ile M a n a g e r) 打 开 这 个 页 将 使 浏览 器 置 于 文 件 模 式 它 不 允 许 你 测 试 H TTP 服 务 程 序 的 能 力 这 一 测 试 阶 段 的

第 10 章 创 建 A c tiv e X 控 件 - 图1631第 10 章 创 建 A c tiv e X 控 件 - 图1632目 的 是 尽 可 能 紧 密 地 模 拟 典 型 用 户 访 问 你 的 站 点 时 的 环 境

第 10 章 创 建 A c tiv e X 控 件 - 图1633第 10 章 创 建 A c tiv e X 控 件 - 图1634第 10 章 创 建 A c tiv e X 控 件 - 图1635第 10 章 创 建 A c tiv e X 控 件 - 图1636第 10 章 创 建 A c tiv e X 控 件 - 图1637第 10 章 创 建 A c tiv e X 控 件 - 图1638第 10 章 创 建 A c tiv e X 控 件 - 图1639第 10 章 创 建 A c tiv e X 控 件 - 图1640第 10 章 创 建 A c tiv e X 控 件 - 图1641第 10 章 创 建 A c tiv e X 控 件 - 图1642第 10 章 创 建 A c tiv e X 控 件 - 图1643第 10 章 创 建 A c tiv e X 控 件 - 图1644第 10 章 创 建 A c tiv e X 控 件 - 图1645第 10 章 创 建 A c tiv e X 控 件 - 图1646第 10 章 创 建 A c tiv e X 控 件 - 图1647第 10 章 创 建 A c tiv e X 控 件 - 图1648第 10 章 创 建 A c tiv e X 控 件 - 图1649第 10 章 创 建 A c tiv e X 控 件 - 图1650第 10 章 创 建 A c tiv e X 控 件 - 图1651第 10 章 创 建 A c tiv e X 控 件 - 图1652第 10 章 创 建 A c tiv e X 控 件 - 图1653第 10 章 创 建 A c tiv e X 控 件 - 图1654第 10 章 创 建 A c tiv e X 控 件 - 图1655第 10 章 创 建 A c tiv e X 控 件 - 图1656第 10 章 创 建 A c tiv e X 控 件 - 图1657第 10 章 创 建 A c tiv e X 控 件 - 图1658第 10 章 创 建 A c tiv e X 控 件 - 图1659— 旦 与 服 务 器 建 立 了 链 接 就 能 看 到 它 提 供 的 缺 省 的 W e b 页 在 其 中 添 加一 个 到 你 的 测 试 页 的 链 接 使 用 这 个 链 接 就 能 测 试 前 一 节 中 创 建 的 单 个 控 件 和整 个 HT M L 页 多 数 情 况 下 你 会 发 现 对 于 测 试 的 这 个 阶 段 而 言 简 单 地 测试 一 下 链 接 就 很 充 分 了 换 言 之 如 果 控 件 在 一 种 模 式 下 能 工 作 那 么 它 就应 该 在 你 提 供 给 它 的 全 部 其 它 模 式 下 也 能 工 作 例 如 在 我 们 的 示 例 控 件 中我 把 它 作 为 一 个 on /off 开 关 进 行 简 单 的 测 试 那 么 标 准 按 钮 模 式 也 应 工 作 得很 好 因 为 在 测 试 的 前 两 个 阶 段 我 已 经 彻 底 地 测 试 过 它 们 了 这 正 是 本 地测 试 之 所 以 重 要 的 原 因 它 能 在 这 个 阶 段 节 省 时 间 第 10 章 创 建 A c tiv e X 控 件 - 图1660 想 象 一 下 不 得 不 反 复创 建 同 一 W e b 页 的 几 个 版 本 并 在 服 务 器 连 接 上 测 试 它 们 对 于 程 序 说 来 这是 多 么 没 有 效 率 的 方 法 呀 第 10 章 创 建 A c tiv e X 控 件 - 图1661

第 10 章 创 建 A c tiv e X 控 件 - 图1662外 部 测 试 在 未 被 污 染 的 机 器 上 检 查 控 件 的 功 能

第 10 章 创 建 A c tiv e X 控 件 - 图1663第 10 章 创 建 A c tiv e X 控 件 - 图1664第 10 章 创 建 A c tiv e X 控 件 - 图1665第 10 章 创 建 A c tiv e X 控 件 - 图1666第 10 章 创 建 A c tiv e X 控 件 - 图1667在 我 们 的 私 有 环 境 中 已 对 控 件 进 行 了 彻 底 的 测 试 考 察 了 每 种 控 件 访 问我 们 确 信 控 件 可 以 与 标 准 的 HT M L 控 件 一 起 工 作 现 在 该 进 入 外 部 测 试 阶 段 了

第 10 章 创 建 A c tiv e X 控 件 - 图1668第 10 章 创 建 A c tiv e X 控 件 - 图1669第 10 章 创 建 A c tiv e X 控 件 - 图1670第 10 章 创 建 A c tiv e X 控 件 - 图1671第 10 章 创 建 A c tiv e X 控 件 - 图1672第 10 章 创 建 A c tiv e X 控 件 - 图1673第 10 章 创 建 A c tiv e X 控 件 - 图1674第 10 章 创 建 A c tiv e X 控 件 - 图1675第 10 章 创 建 A c tiv e X 控 件 - 图1676第 10 章 创 建 A c tiv e X 控 件 - 图1677第 10 章 创 建 A c tiv e X 控 件 - 图1678第 10 章 创 建 A c tiv e X 控 件 - 图1679实 际 上 这 一 阶 段 仅 仅 是 第 三 个 内 部 阶 段 的 扩 充 而 已 但 是 不 再 是 从 网络 上 访 问 W e b 站 点 而 是 像 你 的 用 户 那 样 通 过 电 话 连 接 来 访 问 站 点 另 外你 对 控 件 进 行 测 试 一 直 使 用 的 是 受 了 污 染 的 机 器 在 这 种 机 器 上 已 安 装 了 被测 试 控 件 而 且 拥 有 了 所 有 适 当 的 注 册 表 项

第 10 章 创 建 A c tiv e X 控 件 - 图1680第 10 章 创 建 A c tiv e X 控 件 - 图1681第 10 章 创 建 A c tiv e X 控 件 - 图1682第 10 章 创 建 A c tiv e X 控 件 - 图1683第 10 章 创 建 A c tiv e X 控 件 - 图1684第 10 章 创 建 A c tiv e X 控 件 - 图1685第 10 章 创 建 A c tiv e X 控 件 - 图1686第 10 章 创 建 A c tiv e X 控 件 - 图1687第 10 章 创 建 A c tiv e X 控 件 - 图1688这 个 测 试 阶 段 的 目 的 分 为 两 个 方 面 第 一 方 面 想 确 信 当 从 一 个 未 被 污染 的 机 器 上 进 行 访 问 时 控 件 仍 能 工 作 否 则 就 会 发 现 你 的 控 件 依 赖 于 某 些注 册 表 项 或 者 依 赖 于 客 户 机 访 问 你 的 W e b 站 点 时 不 能 满 足 的 其 它 要 求 第 二

第 10 章 创 建 A c tiv e X 控 件 - 图1689第 10 章 创 建 A c tiv e X 控 件 - 图1690第 10 章 创 建 A c tiv e X 控 件 - 图1691第 10 章 创 建 A c tiv e X 控 件 - 图1692第 10 章 创 建 A c tiv e X 控 件 - 图1693第 10 章 创 建 A c tiv e X 控 件 - 图1694第 10 章 创 建 A c tiv e X 控 件 - 图1695第 10 章 创 建 A c tiv e X 控 件 - 图1696想 检 测 你 的 W e b 页 的 下 载 时 间 到 现 在 为 止 我 们 一 直 通 过 高 速 连 接 访 问 测 试页 而 使 用 你 的 站 点 的 人 就 没 有 这 种 便 利 了 他 们 中 的 大 多 数 人 是 通 过 拨 号 连接 来 访 问 你 的 站 点 的

技 巧 可 能 你 想 把 你 的 测 试 页 安 装 到 你 的 W e b 站 点 中 一 个 私 有 部 分 从 而防 止 其 它 人 访 问 他 们 与 网 络 测 试 阶 段 不 一 样 不 要 在 你 的 主 W e b 页上 放 上 对 测 试 页 的 链 接 因 为 你 已 经 在 以 前 的 测 试 阶 段 中 测 试 过 连 接性 能 所 以 可 以 用 直 接 地 址 访 问 测 试 页

第 10 章 创 建 A c tiv e X 控 件 - 图1697第 10 章 创 建 A c tiv e X 控 件 - 图1698第 10 章 创 建 A c tiv e X 控 件 - 图1699第 10 章 创 建 A c tiv e X 控 件 - 图1700第 10 章 创 建 A c tiv e X 控 件 - 图1701第 10 章 创 建 A c tiv e X 控 件 - 图1702第 10 章 创 建 A c tiv e X 控 件 - 图1703第 10 章 创 建 A c tiv e X 控 件 - 图1704第 10 章 创 建 A c tiv e X 控 件 - 图1705第 10 章 创 建 A c tiv e X 控 件 - 图1706第 10 章 创 建 A c tiv e X 控 件 - 图1707第 10 章 创 建 A c tiv e X 控 件 - 图1708第 10 章 创 建 A c tiv e X 控 件 - 图1709第 10 章 创 建 A c tiv e X 控 件 - 图1710第 10 章 创 建 A c tiv e X 控 件 - 图1711第 10 章 创 建 A c tiv e X 控 件 - 图1712第 10 章 创 建 A c tiv e X 控 件 - 图1713为 了 完 成 这 一 部 分 的 测 试 工 作 把 测 试 页 移 到 你 的 W e b 服 务 器 的 一 个 私 有部 分 从 一 个 未 被 污 染 的 机 器 上 使 用 一 个 支 持 A c tiv e X 的 浏 览 器 拨 号 进 入你 的 W e b 服 务 器 你 需 要 使 用 你 的 网 络 的 私 有 部 分 的 UR L 而 不 是 主 页 的UR L 先 试 一 试 单 一 控 件 测 试 页 看 看 A c tiv e X 控 件 是 否 能 工 作 还 要 看 一 看在 没 有 一 个 整 页 实 现 的 影 响 时 下 载 控 件 用 多 长 时 间 一 旦 检 测 完 单 一 控 件 测 试页 就 转 向 使 用 整 个 HT M L 框 架 的 第 二 页 若 这 个 连 接 成 功 你 就 获 得 了 一 个可 以 工 作 的 A c tiv e X 控 件 这 个 控 件 能 够 用 于 增 强 你 的 正 规 HT M L 页 面 的 功 能

1 0. 3 在 Ne ts ca pe Na vi ga to r 和 In te rn et Ex pl or er

中 使 用 Ac ti ve X 控 件

第 10 章 创 建 A c tiv e X 控 件 - 图1714第 10 章 创 建 A c tiv e X 控 件 - 图1715第 10 章 创 建 A c tiv e X 控 件 - 图1716第 10 章 创 建 A c tiv e X 控 件 - 图1717演 奏 音 乐 以 及 其 它 形 式 的 音 响 效 果 大 概 是 使 W e b 页 更 具 吸 引 力 的 最 普 通的 方 法 R eal A u d io 在 提 高 你 获 得 的 声 音 质 量 时 至 少 使 得 这 个 过 程 容 易 些

第 10 章 创 建 A c tiv e X 控 件 - 图1718第 10 章 创 建 A c tiv e X 控 件 - 图1719第 10 章 创 建 A c tiv e X 控 件 - 图1720第 10 章 创 建 A c tiv e X 控 件 - 图1721第 10 章 创 建 A c tiv e X 控 件 - 图1722第 10 章 创 建 A c tiv e X 控 件 - 图1723第 10 章 创 建 A c tiv e X 控 件 - 图1724第 10 章 创 建 A c tiv e X 控 件 - 图1725第 10 章 创 建 A c tiv e X 控 件 - 图1726第 10 章 创 建 A c tiv e X 控 件 - 图1727第 10 章 创 建 A c tiv e X 控 件 - 图1728第 10 章 创 建 A c tiv e X 控 件 - 图1729第 10 章 创 建 A c tiv e X 控 件 - 图1730第 10 章 创 建 A c tiv e X 控 件 - 图1731第 10 章 创 建 A c tiv e X 控 件 - 图1732R eal A u d io 有 好 几 种 不 同 形 式 而 不 仅 仅 是 一 种 A c t iv e X 控 件 这 个 多 媒 体 的 当前 版 本 还 可 以 做 为 N e ts c a pe N a v iga to r 的 插 件 在 h ttp :// w w w . re a la u d io .c o m / 可 以与 R eal A u d io 的 制 作 者 联 系 从 而 了 解 播 放 器 SD K 和 支 持 的 实 用 程 序 的 详 细情 况 SD K R e a l A ud io E n c ode r 编 码 器 第 10 章 创 建 A c tiv e X 控 件 - 图1733 R e a l A ud io T im e L ine E d ito r 在 线编 辑 器 R e a l A ud io P e rs on a l S e v e r 个 人 服 务 器 第 10 章 创 建 A c tiv e X 控 件 - 图1734 以 及 R eal A u d io C o n te n t C reatio n G u id e 内 容 创 建 指 南 第 10 章 创 建 A c tiv e X 控 件 - 图1735 是 可 以 免 费 下 载 的 R e a l A ud io P e rs ona l S e ve r 支 持 两 种数 据 流 ─ ─ 这 对 于 用 于 演 示 和 试 验 目 的 来 说 是 太 多 了 点

第 10 章 创 建 A c tiv e X 控 件 - 图1736第 10 章 创 建 A c tiv e X 控 件 - 图1737第 10 章 创 建 A c tiv e X 控 件 - 图1738第 10 章 创 建 A c tiv e X 控 件 - 图1739第 10 章 创 建 A c tiv e X 控 件 - 图1740第 10 章 创 建 A c tiv e X 控 件 - 图1741第 10 章 创 建 A c tiv e X 控 件 - 图1742第 10 章 创 建 A c tiv e X 控 件 - 图1743第 10 章 创 建 A c tiv e X 控 件 - 图1744第 10 章 创 建 A c tiv e X 控 件 - 图1745第 10 章 创 建 A c tiv e X 控 件 - 图1746第 10 章 创 建 A c tiv e X 控 件 - 图1747第 10 章 创 建 A c tiv e X 控 件 - 图1748第 10 章 创 建 A c tiv e X 控 件 - 图1749第 10 章 创 建 A c tiv e X 控 件 - 图1750这 个 播 放 器 提 供 的 多 层 次 支 持 只 是 使 用 这 一 特 定 技 术 的 原 因 之 一 相 当多 的 站 点 都 使 用 了 它 最 有 趣 的 站 点 是 h ttp : / / www. c dnow . c o m / 它 与M a ga z ine W a re hous e 相 连 接 第 10 章 创 建 A c tiv e X 控 件 - 图1751 这 是 一 个 使 用 多 媒 体 效 果 的 CD / m o v ie 电 影 第 10 章 创 建 A c tiv e X 控 件 - 图1752商 店 例 如 如 果 你 打 算 买 一 张 CD 那 么 在 购 买 之 前 可 以 先 在 你 的 PC 扬 声 器上 听 一 听 所 选 的 乐 曲 片 段 它 还 卖 恤 衫 你 可 以 在 购 买 之 前 先 看 一 看 货 唯一 做 不 到 的 是 不 能 在 购 买 电 影 之 前 先 看 一 些 电 影 片 段 但 几 乎 可 以 肯 定 的 是 它最 终 会 添 加 这 一 功 能

第 10 章 创 建 A c tiv e X 控 件 - 图1753第 10 章 创 建 A c tiv e X 控 件 - 图1754第 10 章 创 建 A c tiv e X 控 件 - 图1755第 10 章 创 建 A c tiv e X 控 件 - 图1756第 10 章 创 建 A c tiv e X 控 件 - 图1757第 10 章 创 建 A c tiv e X 控 件 - 图1758第 10 章 创 建 A c tiv e X 控 件 - 图1759第 10 章 创 建 A c tiv e X 控 件 - 图1760第 10 章 创 建 A c tiv e X 控 件 - 图1761第 10 章 创 建 A c tiv e X 控 件 - 图1762启 动 R eal A u d io 不 成 问 题 要 做 的 只 不 过 是 安 装 服 务 程 序 对 你 的 文 件 编 码然 后 安 装 W e b 页 R e a l A ud io E n c ode r 实 用 程 序 对 话 框 如 下 图 所 示 只 需 选 择 将要 编 码 的 文 件 在 D e s c r ip t io n 说 明 第 10 章 创 建 A c tiv e X 控 件 - 图1763 区 键 入 所 需 的 信 息 然 后 单 击 E n c ode 按钮 对 文 件 编 码 R e a l A ud io E n c o d e r 实 用 程 序 自 动 地 为 你 指 定 一 个 目 的 文 件 名 第 10 章 创 建 A c tiv e X 控 件 - 图1764

第 10 章 创 建 A c tiv e X 控 件 - 图1765

第 10 章 创 建 A c tiv e X 控 件 - 图1766第 10 章 创 建 A c tiv e X 控 件 - 图1767第 10 章 创 建 A c tiv e X 控 件 - 图1768第 10 章 创 建 A c tiv e X 控 件 - 图1769第 10 章 创 建 A c tiv e X 控 件 - 图1770第 10 章 创 建 A c tiv e X 控 件 - 图1771第 10 章 创 建 A c tiv e X 控 件 - 图1772把 这 个 控 件 添 加 到 W e b 页 也 相 当 容 易 在 A c tiv e X C o n tro l P a d 的 In s e rt A c tiv e X C o n tro l 插 入 A c tiv e X 控 件 第 10 章 创 建 A c tiv e X 控 件 - 图1773 对 话 框 的 控 件 列 表 中 选 择 R e a l A ud io 控件 ─ ─ 以 前 我 们 所 做 的 也 是 这 样 一 个 过 程 除 了 C ode B a s e 这 一 个 属 性 需 要 改 变外 其 它 需 要 改 变 的 属 性 如 下 图 所 示 把 声 音 文 件 所 在 的 UR L 打 入 即 可

第 10 章 创 建 A c tiv e X 控 件 - 图1774

第 10 章 创 建 A c tiv e X 控 件 - 图1775第 10 章 创 建 A c tiv e X 控 件 - 图1776第 10 章 创 建 A c tiv e X 控 件 - 图1777第 10 章 创 建 A c tiv e X 控 件 - 图1778第 10 章 创 建 A c tiv e X 控 件 - 图1779第 10 章 创 建 A c tiv e X 控 件 - 图1780程 序 列 表 10 .7 是 这 个 示 例 的 代 码 注 意 它 包 含 了 N C om pa s s S c r ip tA c t ive 所需 的 <E M B E D > 标 记 它 是 在 N e ts c a pe N a v iga to r 和 In te rn e t E xp lore r 上 都 能 无毛 病 地 进 行 工 作 的 少 数 控 件 之 一

注 释 也 许 需 要 改 变 一 下 RealAudio1 <OBJECT> 标 记 中 HEIGHT 和 WIDTH 属性 使 它 能 在 你 的 特 定 的 显 示 配 置 中 工 作 当 前 值 代 表 的 是 缺 省 尺 寸也 许 有 些 人 会 发 现 在 高 分 辨 率 显 示 中 它 太 小 了

第 10 章 创 建 A c tiv e X 控 件 - 图1781程 序 列 表 10.7

<H T M L >

<H E A D >

< T IT L E > R e a l A u d io Te s t < / T ITL E>

< / H E A D >

< B ODY>

<!- 显示标题 ->

< C E N T E R > < H 2> T e s t of R e a l A u d io A c t iv e X C on tro l < / H 2 > < / C E N T E R >

C lic k h e re to te s t th e c o n tro l:< B R >

<!- 显示控件 ->

< O B J E C T ID = " R e a l A u d io 1 " W IDT H= 4 9 H E IGHT = 3 9

C L A SS ID = " C L S ID : C FC D A A 0 3 - 8B E 4 - 1 1 C F- B 8 4 B

  • 0 0 2 0 A FB B C C F A "

C O D E B A S E = " h ttp ://a u x /c o n tro ls " >

< P AR AM N A M E = " _ E x te n t X " V A L U E = " 1 2 9 6 " >

< P AR AM N A M E = " _ E x te n t Y " V A L U E = " 1 0 3 2 " >

< P A R A M N A M E = " S R C " V A L U E = " h ttp ://a u x / m u ltim e d ia /T w ilZ o n e .R A " >

< P AR AM N A M E = " AUT OS T A R T " VA L U E = " 0 " >

< P AR AM N A M E = " NOL AB E L S " VAL UE = " 0 " >

< E M B E D NAM E = " R e a l A u d io 1 " W IDT H = 4 9 HE IGHT = 3 9

C L A SS ID = " C L S ID : C FC D A A 0 3 - 8B E 4 - 1 1 C F- B 8 4 B

  • 0 0 2 0 A FB B C C F A "

C O D E B A S E = " h ttp ://a u x /c o n tro ls " > T Y P E = " ap p l icatio n /o leo bject"

P A R A M __E x te n t X = " 12 9 6 " >

P A R A M __E x te n t Y = " 10 3 2 " >

P A R A M _ _ S R C = " h ttp ://a u x / m u ltim e d ia /T w ilZ o n e .R A " > P A R A M _ _ AUT OS T A R T = " 0 " >

P A R A M _ _ N O L A B E L S = "0 ">

< / O B J E C T >

< / B ODY>

< / H T M L >

第 10 章 创 建 A c tiv e X 控 件 - 图1782

图 10 .11 R e a lA ud io 控件 提供 了独 特的按 钮接 口以 及关联 菜单 供用户 进行 设置

第 10 章 创 建 A c tiv e X 控 件 - 图1783第 10 章 创 建 A c tiv e X 控 件 - 图1784第 10 章 创 建 A c tiv e X 控 件 - 图1785第 10 章 创 建 A c tiv e X 控 件 - 图1786第 10 章 创 建 A c tiv e X 控 件 - 图1787第 10 章 创 建 A c tiv e X 控 件 - 图1788第 10 章 创 建 A c tiv e X 控 件 - 图1789第 10 章 创 建 A c tiv e X 控 件 - 图1790现 在 把 代 码 写 好 了 来 看 一 下 最 后 结 果 吧 图 10 .11 显 示 的 是 这 个 例 页 的 外观 用 户 只 要 单 击 R eal A u d io 按 钮 就 可 以 打 开 声 音 文 件 这 个 控 件 还 有 别 的 功能 右 击 该 控 件 就 会 看 到 如 图 10 .11 所 示 的 上 下 文 菜 单 用 户 可 以 定 制 控 件以 满 足 专 门 需 要

第 10 章 创 建 A c tiv e X 控 件 - 图1791第 10 章 创 建 A c tiv e X 控 件 - 图1792第 10 章 创 建 A c tiv e X 控 件 - 图1793第 10 章 创 建 A c tiv e X 控 件 - 图1794第 10 章 创 建 A c tiv e X 控 件 - 图1795第 10 章 创 建 A c tiv e X 控 件 - 图1796第 10 章 创 建 A c tiv e X 控 件 - 图1797第 10 章 创 建 A c tiv e X 控 件 - 图1798那 么 该 控 件 操 作 起 来 是 什 么 样 子 呢 下 图 显 示 了 用 户 眼 中 示 例 W A V 文件 的 显 示 情 况

第 10 章 创 建 A c tiv e X 控 件 - 图1799

请 注 意 这 个 对 话 框 中 显 示 了 在 R e a l A ud io E n c ode r 实 用 程 序 中 添 加 的 说 明信 息 遗 憾 的 是 你 添 加 的 信 息 量 受 到 限 制 最 好 除 了 控 件 所 提 供 的 缺 省 域 外再 添 加 一 个 用 户 可 配 置 的 域