あたって:Windows 下Help 文 件 的 制 作

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 02:38:10

Windows 下Help 文 件 的 制 作

秦 戈

---- Windows 下 各 类 应 用 程 序 所 附 带 的Help 文 件( 以 下 简 称Winhelp 文 件) 以 其 界 面 友 好、 使 用 方 便 而 为 广 大 电 脑 使 用 者 所 熟 悉。 不 同 于DOS 平 台 下 近 乎 纯 文 本 格 式 的 帮 助 文 件,Winhelp 文 件 是 一 个 经 编 译 的、 但 需 经Winhelp32.exe 调 用 的 特 殊 格 式 文 件。 它 具 有 目 录 查 询、 关 键 词 查 询、 各 主 题 分 窗 口 显 示、 热 区(Hot spot) 字 段 或 图 形 与 相 应 主 题 的 跳 键 联 接、 各 主 题 与 应 用 程 序 中 相 应 内 容 之 间 的 上 下 文 编 号(Context number) 联 接 等 诸 多 功 能, 使 我 们 能 够 非 常 方 便 地 查 询 到 相 关 的 帮 助 主 题。 同 时, 它 还 支 持 在 不 同 的 帮 助 文 件 之 间 进 行 各 类 主 题 的 互 相 调 用, 支 持 在 主 题 页 中 显 示 位 图 格 式(bmp 格 式) 文 件, 它 还 可 以 包 含 音 频、 视 频 信 息 等 等。 所 有 这 些 特 点, 使Winhelp 文 件 适 合 于 编 制 各 类 不 同 的 帮 助 系 统, 尤 其 是 在 制 作 大 型 应 用 软 件 的 帮 助 系 统 时, 更 显 现 出 其 无 可 比 拟 的 优 势。

---- 现 在 各 类 可 视 化 开 发 工 具 中 大 都 附 有 可 制 作Winhelp 文 件 的 编 译 器, 其 中 以Microsoft 的Help Workshop 使 用 较 为 普 遍。Visual C++ 4.0 以 及Delphi Client/Server 2.0 中 都 捆 绑 有 这 个 软 件。 下 面 向 您 介 绍 有 关 制 作Winhelp 文 件 的 一 些 方 法。

一 . 编 写Help 文 件 的 源 文 件 — —rtf 文 件

---- rtf 格 式 的 文 件 是 一 种 多 信 息 文 本 格 式 的 文 件, 很 多 字 处 理 软 件 都 支 持 这 种 格 式 的 文 本 编 辑。 在 这 里, 我 们 推 荐 使 用Microsoft 的Word 6.0 软 件。 建 议 不 要 使 用Word 97 来 编 辑rtf 格 式 的 文 件, 因 为Word 97 中 使 用 的 是Unicode 码, 它 不 兼 容Help Workshop 所 支 持 的Default Character Set 信 息。 下 面 通 过 一 个 演 示 文 档sample.rtf 的 例 子 来 说 明 如 何 编 写rtf 文 件。

---- 进 入Word 6.0 编 辑 环 境 后, 打 开“ 视 图” 下 拉 菜 单 项, 切 换 显 示 方 式 为 普 通 视 图 方 式。 打 开 快 捷 菜 单 右 边 的“ 显 示/ 隐 藏” 按 扭, 按 下 图 的 格 式 输 入 以 下 文 档。

 

---- 然 后 在 每 一 页 文 档 的 页 首 加 入 如 下 图 示 的 脚 注 项, 脚 注 标 记 分 别 使 用 字 符#、$ 和K( 见 下 图)。

 

---- 下 面 作 一 些 说 明:

---- 1 . 在Winhelp 文 件 中 是 按 主 题 来 进 行 分 页 显 示 的, 不 同 的 主 题 内 容 显 示 在 不 同 的 页 面 内, 各 主 题 页 之 间 的 连 接 通 过 跳 键 指 向 另 一 个 主 题 页 的ID 值 来 完 成。

---- 2 . 所 输 入 文 档 中 的 每 一 页 即 对 应 在Winhelp 文 件 中 显 示 的 每 一 个 主 题 页。 其 中, 有 双 下 划 线 标 识 的 文 字 为“ 热 区 字 段”。“ 热 区 字 段” 后 紧 跟 一 段 以 单 下 划 虚 线 标 识 的 隐 藏 格 式 文 本, 用 以 说 明 另 一 个 主 题 页 的ID 值。 在 编 译 生 成 的Winhelp 文 档 中, 单 击“ 热 区 字 段” 即 可 使 帮 助 页 面 切 换 至 该ID 值 所 指 向 的 另 一 主 题 页。

---- 3 . 在 编 译 完 成 后 的Winhelp 文 档 中, 其 主 题 页 的 显 示 有 两 种 方 式, 一 种 是 在 主 窗 口 显 示, 另 一 种 是 在 二 级 窗 口 显 示。 一 般 说 来, 主 窗 口 用 以 显 示 第 一 主 题 页, 以 使 我 们 能 够 通 过 该 主 题 页 对 整 个 帮 助 文 件 有 全 面 的 了 解, 而 其 他 主 题 页 既 可 显 示 在 主 窗 口( 对 第 一 主 题 页 进 行 覆 盖), 也 可 在 另 一 个 二 级 窗 口 进 行 显 示。 当 在 二 级 窗 口 页 进 行 显 示 时, 需 在“ 热 区 字 段” 后 隐 藏 的ID 值 说 明 中 用 符 号“>” 指 向 输 出 的 二 级 窗 口 的 名 字( 例 如 演 示 文 档 中 的 主 题2 即 是 在 一 个 名 为“ 窗 口1” 的 二 级 窗 口 中 进 行 显 示 的)。

---- 4 . 若 一 个 主 题 页 的 内 容 非 常 简 单, 我 们 也 可 以 使 用 一 个 弹 出 窗 口 来 对 其 进 行 显 示。 这 时, 当 我 们 单 击“ 热 区 字 段” 时,Winhelp 将 弹 出 一 个 与 对 应 主 题 页 文 本 长 度 相 匹 配 的 弹 出 窗 口 来 对 主 题 页 进 行 显 示。 与 弹 出 窗 口 相 对 应 的“ 热 区 字 段” 以 单 下 划 线 进 行 标 识( 例 如 演 示 文 档 中 主 题3 的 显 示)。

---- 5 . 若 在 本 帮 助 文 件 调 用 另 一 帮 助 文 件 的 相 关 主 题 的 内 容, 则 需 在“ 热 区 字 段” 后 的ID 值 说 明 中 用 符 号“@” 指 明 该ID 值 所 在 的 帮 助 文 件 的 名 字( 例 如 演 示 文 档 中, 单 击 热 区 字 段“ 另 一 个 帮 助 文 件” 即 可 调 用 另 一 名 为helpfile.hlp 的 帮 助 文 件 中ID 值 为“ 主 题A” 的 主 题 页)。

---- 6 . 演 示 文 档 中 花 括 弧“{}” 内 标 示 的 内 容 为 帮 助 文 件 中 所 显 示 的bmp 格 式 位 图。 其 中bml 和bmlt 定 义 了 位 图 的 显 示 方 式, 后 跟 所 显 示 的 位 图 文 件 名。

---- 7 . 脚 注 的 说 明

---- 以 字 符“#” 为 标 记 的 脚 注 项 是 一 个 主 题 页 的ID 值 说 明,ID 值 命 名 规 则 与 文 件 名 类 似, 但 必 须 以“IDH_” 为 前 缀 说 明;

---- 以 字 符“K” 为 标 记 的 脚 注 项 用 以 定 义 查 询 一 个 主 题 页 的 关 键 词, 该 关 键 词 将 显 示 在Winhelp 文 件 中 的“ 索 引” 栏 中;

---- 以 字 符“$” 为 标 记 的 脚 注 项 用 以 定 义 通 过 单 击 索 引 栏 的 关 键 词 所 显 示 的 一 个 主 题 页 的 简 要 描 述。

---- 将 该 文 件 以sample.rtf 的 名 字 存 盘 后, 退 出Word 6.0。

二 . 定 义Winhelp 文 件 的 项 目 文 件 — —hpj 文 件

---- 进 入Help Workshop 环 境( 主 运 行 文 件 名 为hcrtf.exe), 单 击“File”*“New” 菜 单 项, 在“New” 对 话 框 中 选 择“Help project”, 输 入 文 件 名sample 后 回 车, 屏 幕 显 示 如 下 图 所 示。

 

---- 单 击“Files” 按 钮, 在“Topic Files” 对 话 框 中 单 击“Add” 按 钮, 装 入 源 文 件sample.rtf; 单 击“Windows” 按 钮, 在“General” 标 签 中 单 击“Add” 按 钮, 在“Window Type” 栏 中 输 入 主 窗 口 名 字“main” 后 回 车, 然 后 在“Title bar text” 栏 中 输 入“ 这 是WinHelp 演 示 文 档 的 主 窗 口”。 重 复 上 述 过 程, 定 义 一 个 名 为“ 窗 口1” 的 二 级 窗 口。 然 后 选 择“Save and Compile” 命 令, 系 统 给 出 编 译 成 功 的 提 示, 并 告 诉 您 生 成 了 一 个 名 为sample.hlp 的 帮 助 文 件(npic38.bmp 可 用 任 何 一 个 位 图 文 件 替 代)。

---- 退 出Help Workshop, 用 资 源 管 理 器 打 开sample.hlp 文 件, 会 得 到 如 下 图 所 示 的 一 个 帮 助 界 面。

 

---- 试 着 点 击 各 个 按 钮 和 热 区 字 段, 就 可 了 解 在sample.rtf 文 件 中 的 各 项 定 义 都 起 到 了 哪 些 作 用。

三 . 小 结

---- 在 初 步 掌 握 了Winhelp 文 件 的 制 作 方 法 后, 我 们 就 可 以 为 自 己 所 开 发 的Windows 应 用 程 序 编 写 合 适 的 帮 助 文 件 了。 应 用 程 序 对 帮 助 文 件 的 调 用 多 数 是 通 过 响 应 一 个Help 事 件 来 完 成 的, 有 些 可 视 化 开 发 工 具 本 身 就 提 供 了 产 生 这 种 响 应 的 标 准 函 数( 如Delphi 中 的MessageDlg 函 数), 通 过 调 用Winhelp 文 件 中 定 义 的 上 下 文 编 号(Context number, 需 在 相 应 的hpj 文 件 中 进 行 定 义) 显 示 相 应 的 帮 助 主 题 页。

---- ( 作 者 地 址: 成 都 市436 信 箱507 分 箱,610041; 收 稿 日 期:1998.07)