第 1 章 V isu a l C + + 引 论 - 图1返 回 总 目 录

目 录

1

V is u a l C + + 引 论 3
1 .1 为什么要 用 V is u a l C + + 5
1 .2 本版 V is u a l C + + 的新特性 6
1 .3 — 些 缺 陷 2 3
1 .4 考察界面 元素 2 5
2

建 立 基 本 应 用 程 序 4 1
2 .1 了解应用 程序类型 4 2
2 .2 编写控制 台应用程序 5 5
2 .3 编写基于 对话框的应用 程序 6 6
2 .4 编写单文 档应用程序 8 2
2 .5 编写基于 HT M L 文档的应 用程序 9 2
3

理 解 V is u a l C + + 的 资 源 1 0 0
3 .1 定制使用 应用程序向导 生成的应用程 序所用的资源 1 0 3
3 .2 使用加速 键和菜单 1 2 9
3 .3 使用工具 条 1 3 6

第 1 章 V isu a l C + + 引 论

第 1 章 V isu a l C + + 引 论 - 图2第 1 章 V isu a l C + + 引 论 - 图3第 1 章 V isu a l C + + 引 论 - 图4第 1 章 V isu a l C + + 引 论 - 图5第 1 章 V isu a l C + + 引 论 - 图6第 1 章 V isu a l C + + 引 论 - 图7第 1 章 V isu a l C + + 引 论 - 图8第 1 章 V isu a l C + + 引 论 - 图9只 有 真 正 的 程 序 员 才 使 用 V is u a l C + + 反 过 来 则 并 不 见 得 如 此 最 近 似乎 有 许 多 专 业 的 程 序 员 放 弃 了 使 用 这 一 语 言 而 改 用 了 其 它 产 品 提 供 的 RA D 快速 应 用 开 发 第 1 章 V isu a l C + + 引 论 - 图10 环 境 许 多 人 认 为 V is u a l C + + 太 古 老 太 烦 琐 学 起 来 太 困 难 了

第 1 章 V isu a l C + + 引 论 - 图11第 1 章 V isu a l C + + 引 论 - 图12第 1 章 V isu a l C + + 引 论 - 图13说 句 实 在 话 V is u a l C + + 的 学 习 周 期 确 实 比 其 它 语 言 要 长 可 以 很 轻 易 地 引入 需 要 花 上 数 小 时 才 能 排 除 的 微 妙 错 误 这 一 事 实 一 点 也 无 助 于 提 高 程 序 员 的 开发 效 率

第 1 章 V isu a l C + + 引 论 - 图14第 1 章 V isu a l C + + 引 论 - 图15第 1 章 V isu a l C + + 引 论 - 图16第 1 章 V isu a l C + + 引 论 - 图17第 1 章 V isu a l C + + 引 论 - 图18第 1 章 V isu a l C + + 引 论 - 图19第 1 章 V isu a l C + + 引 论 - 图20第 1 章 V isu a l C + + 引 论 - 图21第 1 章 V isu a l C + + 引 论 - 图22第 1 章 V isu a l C + + 引 论 - 图23第 1 章 V isu a l C + + 引 论 - 图24第 1 章 V isu a l C + + 引 论 - 图25然 而 让 我 们 先 把 这 些 负 面 缺 陷 暂 时 放 到 一 边 来 看 一 看 V is u a l C + + 具 备的 长 处 使 用 V is u a l C + + 主 要 的 原 因 之 一 就 在 于 它 的 灵 活 性 你 可 以 彻 底 地 控制 整 个 开 发 环 境 其 它 语 言 则 更 多 地 趋 向 于 庇 护 程 序 员 当 要 做 一 些 基 本 的 东西 时 它 们 会 做 得 很 好 不 幸 的 是 当 你 需 要 使 用 像 C+ + 这 样 的 语 言 删 除 编 程中 的 繁 文 缛 节 并 把 任 务 完 成 时 这 种 保 护 作 用 就 变 成 了 开 发 工 作 的 障 碍

第 1 章 V isu a l C + + 引 论 - 图26第 1 章 V isu a l C + + 引 论 - 图27第 1 章 V isu a l C + + 引 论 - 图28第 1 章 V isu a l C + + 引 论 - 图29第 1 章 V isu a l C + + 引 论 - 图30长 期 以 来 V is u a l C + + 一 直 拥 有 能 够 创 建 短 小 高 效 程 序 的 美 誉 使 用 这 种 语言 编 写 的 程 序 几 乎 可 以 与 用 汇 编 语 言 编 写 的 程 序 达 到 相 同 的 运 行 速 度 并 且 避免 了 汇 编 语 言 存 在 的 各 种 问 题 C+ + 实 际 上 是 介 于 汇 编 语 言 中 寄 存 器 编 程 的 神秘 莫 测 和 像 P a s cal 这 种 保 护 型 编 程 环 境 方 便 性 之 中 间 难 度 的 语 言

第 1 章 V isu a l C + + 引 论 - 图31第 1 章 V isu a l C + + 引 论 - 图32第 1 章 V isu a l C + + 引 论 - 图33第 1 章 V isu a l C + + 引 论 - 图34第 1 章 V isu a l C + + 引 论 - 图35第 1 章 V isu a l C + + 引 论 - 图36C+

  • 是 编 写 诸 如 操 作 系 统 设 备 驱 动 程 序 以 及 动 态 链 接 库 DL L 第 1 章 V isu a l C + + 引 论 - 图37 的 强 大 语言 这 一 点 不 会 不 引 起 你 的 注 意 这 三 种 领 域 代 码 的 开 发 依 然 是 V is u a l C + + 的主 战 场 V is u a l C + + 生 成 的 短 小 快 速 的 代 码 在 操 作 系 统 类 对 时 间 要 求 很 高 的

第 1 章 V isu a l C + + 引 论 - 图38系 统 中 获 得 了 极 高 的 赞 誉

第 1 章 V isu a l C + + 引 论 - 图39第 1 章 V isu a l C + + 引 论 - 图40第 1 章 V isu a l C + + 引 论 - 图41第 1 章 V isu a l C + + 引 论 - 图42第 1 章 V isu a l C + + 引 论 - 图43第 1 章 V isu a l C + + 引 论 - 图44第 1 章 V isu a l C + + 引 论 - 图45第 1 章 V isu a l C + + 引 论 - 图46第 1 章 V isu a l C + + 引 论 - 图47第 1 章 V isu a l C + + 引 论 - 图48第 1 章 V isu a l C + + 引 论 - 图49到 现 在 为 止 我 告 诉 你 的 一 切 你 可 能 已 经 在 其 它 书 籍 中 看 过 无 数 遍 了 下面 就 让 我 讲 一 些 这 个 版 本 的 V is u a l C + + 中 独 有 的 内 容 M ic ros oft 添 加 到 这 个 版本 的 V is u a l C + + 中 的 最 新 特 性 之 一 是 更 佳 的 原 型 能 力 这 一 点 通 过 增 强 的 向 导来 实 现 现 在 这 个 特 性 还 不 能 把 V is u a l C + + 提 升 到 像 V isu a l B a sic 向 导 相 同 的水 平 上 但 它 确 实 减 少 了 开 发 应 用 程 序 的 入 门 时 间 — — 这 是 个 深 受 欢 迎 的 变 化另 外 增 强 的 向 导 使 得 这 个 版 本 的 V is u a l C + + 比 以 前 版 本 更 为 友 好 本 章 的 后续 部 分 我 将 全 部 用 于 介 绍 V is u a l C + + 的 其 它 新 特 性 第 1 章 V isu a l C + + 引 论 - 图50

第 1 章 V isu a l C + + 引 论 - 图51第 1 章 V isu a l C + + 引 论 - 图52第 1 章 V isu a l C + + 引 论 - 图53第 1 章 V isu a l C + + 引 论 - 图54第 1 章 V isu a l C + + 引 论 - 图55第 1 章 V isu a l C + + 引 论 - 图56第 1 章 V isu a l C + + 引 论 - 图57第 1 章 V isu a l C + + 引 论 - 图58第 1 章 V isu a l C + + 引 论 - 图59第 1 章 V isu a l C + + 引 论 - 图60第 1 章 V isu a l C + + 引 论 - 图61V is u a l C + + 也 是 编 写 A c tiv e X 控 件 以 及 像 IS A P I In te rn e t 服 务 器 应 用 程 序 接口 第 1 章 V isu a l C + + 引 论 - 图62 扩 展 和 IS A P I 过 滤 器 这 样 针 对 IIS 的 专 用 代 码 的 理 想 编 程 环 境 即 使 对 属于 快 速 应 用 程 序 开 发 环 境 中 的 应 用 程 序 编 程 来 说 也 没 有 人 愿 意 花 时 间 从 In te r- ne t 上 下 载 一 个 巨 型 控 件 也 同 样 没 有 人 愿 意 让 慢 速 的 过 滤 器 加 重 W e b 服 务 器的 负 担 V is u a l C + + 可 以 生 成 人 们 真 正 想 要 的 简 短 可 执 行 文 件 另 外 V is u a l C + + 提 供 的 额 外 灵 活 性 也 使 得 编 写 这 些 类 型 的 应 用 程 序 更 加 容 易 些 本 书 中 我 们 将花 些 时 间 来 研 究 A c tiv e X 控 件 因 此 这 里 我 就 不 再 多 讲 了 我 还 为 使 用 W e b 服务 器 的 人 们 准 备 了 几 个 IS A P I 扩 展 和 IS A P I 过 滤 器 的 示 例

第 1 章 V isu a l C + + 引 论 - 图63第 1 章 V isu a l C + + 引 论 - 图64第 1 章 V isu a l C + + 引 论 - 图65第 1 章 V isu a l C + + 引 论 - 图66第 1 章 V isu a l C + + 引 论 - 图67V is u a l C + + 擅 长 的 另 一 领 域 是 数 据 库 编 程 我 并 不 是 说 要 使 用 V isu a l C + + 编写 一 个 功 能 完 备 的 仓 储 控 制 系 统 — — 那 样 确 实 要 花 去 很 长 的 时 间 然 而 In te rn e t 用 户 也 确 实 需 要 访 问 数 据 库 管 理 者 那 里 的 数 据 V is u a l C + + 能 够 在 不 比 RA D 语言 多 多 少 编 程 的 情 况 下 提 供 快 速 的 数 据 库 访 问

1 . 1 为 什 么 要 用 Vi su al C + +

第 1 章 V isu a l C + + 引 论 - 图68第 1 章 V isu a l C + + 引 论 - 图69第 1 章 V isu a l C + + 引 论 - 图70第 1 章 V isu a l C + + 引 论 - 图71第 1 章 V isu a l C + + 引 论 - 图72第 1 章 V isu a l C + + 引 论 - 图73第 1 章 V isu a l C + + 引 论 - 图74我 们 已 经 研 究 了 作 为 编 程 语 言 为 什 么 要 使 用 C+ + 的 一 般 性 问 题 然 而 对你 想 生 成 W ind ow s 应 用 程 序 时 为 什 么 要 使 用 V is u a l C + + 却 谈 论 得 不 多 最 基 本的 原 因 很 好 理 解 由 于 M ic ros oft 是 W ind ow s 的 生 产 厂 商 那 里 的 人 们 当 然 最清 楚 地 知 道 该 操 作 系 统 内 部 的 东 西 是 如 何 运 行 的 在 M F C第 1 章 V isu a l C + + 引 论 - 图75 M ic ros oft 基 础 类 库 第 1 章 V isu a l C + + 引 论 - 图76的 W ind ow s A P I 钩 子 中 你 会 找 到 这 些 内 幕 知 识

第 1 章 V isu a l C + + 引 论 - 图77第 1 章 V isu a l C + + 引 论 - 图78第 1 章 V isu a l C + + 引 论 - 图79第 1 章 V isu a l C + + 引 论 - 图80第 1 章 V isu a l C + + 引 论 - 图81第 1 章 V isu a l C + + 引 论 - 图82第 1 章 V isu a l C + + 引 论 - 图83第 1 章 V isu a l C + + 引 论 - 图84第 1 章 V isu a l C + + 引 论 - 图85V is u a l C + + 还 提 供 了 许 多 在 其 它 产 品 中 或 许 找 不 到 的 特 性 尽 管 你 可 以 通 过构 建 自 己 的 工 具 来 克 服 其 它 产 品 存 在 的 任 何 缺 点 但 为 什 么 非 要 从 头 造 车 轮 呢 本 书 中 我 们 讨 论 最 多 的 两 个 特 性 是 数 据 库 编 程 和 A c tiv e X 编 程 两 者 都 包 括 控件 和 文 档 我 们 还 将 讲 述 与 In te rn e t 相 关 的 主 题 — — 比 如 IS A P I— — 以 及 新 的 应用 类 型 比 如 基 于 HT M L 的 应 用 V is u a l C + + 让 你 能 够 在 一 个 产 品 中 访 问 所 有这 些 技 术 而 无 须 购 买 第 三 方 的 产 品

第 1 章 V isu a l C + + 引 论 - 图86第 1 章 V isu a l C + + 引 论 - 图87第 1 章 V isu a l C + + 引 论 - 图88第 1 章 V isu a l C + + 引 论 - 图89第 1 章 V isu a l C + + 引 论 - 图90第 1 章 V isu a l C + + 引 论 - 图91第 1 章 V isu a l C + + 引 论 - 图92第 1 章 V isu a l C + + 引 论 - 图93第 1 章 V isu a l C + + 引 论 - 图94第 1 章 V isu a l C + + 引 论 - 图95第 1 章 V isu a l C + + 引 论 - 图96持 久 性 是 使 用 V is u a l C + + 的 另 一 个 原 因 与 我 聊 过 天 的 一 些 程 序 员 关 心 计算 机 界 某 些 公 司 的 未 来 他 们 为 这 些 公 司 以 后 不 能 对 其 产 品 提 供 支 持 而 深 感 担忧 开 发 人 员 不 仅 今 天 需 要 而 且 未 来 也 需 要 得 到 强 有 力 的 支 持 由 于 C+ + 的每 种 实 现 都 存 在 一 些 细 微 的 差 别 特 别 是 在 你 使 用 厂 商 提 供 的 特 有 特 性 的 情 况下 你 的 应 用 程 序 确 实 与 开 发 工 具 产 品 的 命 运 联 系 在 一 起 了 我 们 可 以 负 责 地说 在 不 远 的 将 来 M ic ros oft 不 会 跑 到 哪 儿 去 — — 使 用 它 的 产 品 就 意 味 着 你 总 可以 升 级 到 更 好 的 产 品 当 然 要 在 这 些 产 品 发 行 的 时 候

第 1 章 V isu a l C + + 引 论 - 图97

1 .2 本 版 Vi su al C + + 的 新 特 性

第 1 章 V isu a l C + + 引 论 - 图98第 1 章 V isu a l C + + 引 论 - 图99第 1 章 V isu a l C + + 引 论 - 图100第 1 章 V isu a l C + + 引 论 - 图101第 1 章 V isu a l C + + 引 论 - 图102第 1 章 V isu a l C + + 引 论 - 图103第 1 章 V isu a l C + + 引 论 - 图104第 1 章 V isu a l C + + 引 论 - 图105第 1 章 V isu a l C + + 引 论 - 图106第 1 章 V isu a l C + + 引 论 - 图107近 来 软 件 开 发 界 流 传 的 一 个 词 是 In te rn e t 你 现 在 见 到 的 每 个 产 品 都 具 备 某些 与 In te rn e t 相 关 的 小 玩 意 儿 V is u a l C

    • 也 不 例 外 在 本 书 中 我 们 将 考 察 与In te rn e t 相 关 的 新 特 性 和 升 级 特 性 表 1 .1 列 出 了 V is u a l C + + 新 特 性 的 完 整 列 表并 显 示 了 哪 些 版 本 包 含 这 些 新 特 性 第 1 章 V isu a l C + + 引 论 - 图108 显 然 企 业 版 包 含 的 特 性 最 完 整 第 1 章 V isu a l C + + 引 论 - 图109 在 随后 的 段 落 中 你 会 找 到 V is u a l C + + In te rn e t 特 有 特 性 的 概 览 从 而 决 定 V is u a l C + + 如 何 最 佳 地 来 满 足 你 的 In te rn e t 桌 面 以 及 数 据 库 编 程 的 需 要

第 1 章 V isu a l C + + 引 论 - 图110表 1 . 1 Vi su al C + + 版本之间 特性比较

特 性

学 习 版 第 1 章 V isu a l C + + 引 论 - 图111 标 准版 第 1 章 V isu a l C + + 引 论 - 图112

专业版

企业版

活动模板 库 AT L 第 1 章 V isu a l C + + 引 论 - 图113

X 1

X

X

应用分发 许可

X

X

X

A ppW iz a rd 和数据源

X

X

X

通过 O LE - D B 进行的 AS A 4 0 0 数据库访问

X

A u to C o m p le tio n 自动完 成语 句 第 1 章 V isu a l C + + 引 论 - 图114

X

X

X

客户 / 服务器应 用开发

\ 2

\

X

第 1 章 V isu a l C + + 引 论 - 图115第 1 章 V isu a l C + + 引 论 - 图116第 1 章 V isu a l C + + 引 论 - 图117第 1 章 V isu a l C + + 引 论 - 图118第 1 章 V isu a l C + + 引 论 - 图119第 1 章 V isu a l C + + 引 论 - 图120第 1 章 V isu a l C + + 引 论 - 图121第 1 章 V isu a l C + + 引 论 - 图122第 1 章 V isu a l C + + 引 论 - 图123续 表

代码优化 和剖析器

X X

创建定制 化应用向导

X X

数据绑定 控件 R e m o te D a ta 第 1 章 V isu a l C + + 引 论 - 图124

X X

扩展的存 储过程向导

X

In s ta llS h ie ld

X X

In te rn e t 信息服务 器 IIS 第 1 章 V isu a l C + + 引 论 - 图125 4 .0

X

M F C 数据绑定

X X

M F C 数据库类 DAO ODB C 以

及文件 I/ O 第 1 章 V isu a l C + + 引 论 - 图126

X

X X

M F C 数 据 库 类 O LE - D B 和

ADO 第 1 章 V isu a l C + + 引 论 - 图127 也称 做 O LE - D B 模板

X X

M icro s o f t T ran s a ctio n S e rv er M T S 第 1 章 V isu a l C + + 引 论 - 图128

X

代理服务 器

X

远程自动 化部件

X

远程数据 对象 RD O 第 1 章 V isu a l C + + 引 论 - 图129

X X

SN A 服务器

X

SQ L 数据库工 具

X X

SQ L 编 辑 调 试 以 及 存 储 过 程 调

X

第 1 章 V isu a l C + + 引 论 - 图130续 表

S Q L S e rv e r 6 .5 D e ve lo p e r 版和服务

包 3

X

静态链接 M F C 库

X

X

系统管理 服务器 SM S 第 1 章 V isu a l C + + 引 论 - 图131

X

TS Q L 调试

X

可视化数 据库工具

\

X

可视化建 模器

X

V is u al S o u rceS a fe 版本控 制

X

V isu a l S tu d io E n te rp r is e E d itio n VS E F 第 1 章 V isu a l C + + 引 论 - 图132 解决方 案教程

X

第 1 章 V isu a l C + + 引 论 - 图1331 X 完全 兼容

2 \ 部分 兼容

第 1 章 V isu a l C + + 引 论 - 图134/G Z 编 译 器 选 项 在 调 试 模 式 下 捕 获 发 行 版 本 中 的 错 误 第 1 章 V isu a l C + + 引 论 - 图135

第 1 章 V isu a l C + + 引 论 - 图136第 1 章 V isu a l C + + 引 论 - 图137第 1 章 V isu a l C + + 引 论 - 图138第 1 章 V isu a l C + + 引 论 - 图139第 1 章 V isu a l C + + 引 论 - 图140第 1 章 V isu a l C + + 引 论 - 图141第 1 章 V isu a l C + + 引 论 - 图142第 1 章 V isu a l C + + 引 论 - 图143第 1 章 V isu a l C + + 引 论 - 图144第 1 章 V isu a l C + + 引 论 - 图145第 1 章 V isu a l C + + 引 论 - 图146第 1 章 V isu a l C + + 引 论 - 图147第 1 章 V isu a l C + + 引 论 - 图148你 曾 经 遇 到 过 在 你 的 发 行 版 中 碰 到 了 运 行 错 误 但 在 调 试 模 式 错 误 又 消 失得 无 影 无 踪 的 情 况 吗 /G Z 编 译 器 选 项 正 是 用 于 帮 助 你 排 除 这 类 错 误 的 法 宝 该 编 译 选 项 允 许 你 使 用 /O 1 /O 2 /O x 或 /O g 优 化 开 关 从 而 找 出 发 行 版 错 误 的根 源 然 而 这 时 V is u a l C + + 依 然 对 代 码 中 任 何 以 #pra g m a 开 始 的 语 句 进 行 优化 这 就 是 说 有 可 能 不 会 找 出 所 有 的 优 化 缺 陷 除 此 之 外 /G Z 编 译 器 选 项还 将 完 成 下 述 三 项 任 务

自 动 初 始 化 局 部 变 量 V is u a l C + + 将 自 动 把 局 部 变 量 初 始 化 为 值

第 1 章 V isu a l C + + 引 论 - 图149第 1 章 V isu a l C + + 引 论 - 图150O x C C 这 样 你 就 会 更 快 地 找 出 未 初 始 化 的 变 量 该 选 项 还 会 以 C 4700

第 1 章 V isu a l C + + 引 论 - 图151第 1 章 V isu a l C + + 引 论 - 图152这 样 你 就 会 更 快 地 找 出 未 初 始 化 的 变 量 该 选 项 还 会 以 C 4700 或 C 4701

第 1 章 V isu a l C + + 引 论 - 图153警 告 信 息 让 你 找 到 未 正 常 引 用 的 变 量

第 1 章 V isu a l C + + 引 论 - 图154第 1 章 V isu a l C + + 引 论 - 图155第 1 章 V isu a l C + + 引 论 - 图156第 1 章 V isu a l C + + 引 论 - 图157第 1 章 V isu a l C + + 引 论 - 图158第 1 章 V isu a l C + + 引 论 - 图159函 数 指 针 调 用 栈 有 效 性 检 查 V is u a l C + + 检 查 每 个 函 数 确 保 函 数 正 常地 使 用 堆 栈 函 数 退 出 时 检 查 ES P 寄 存 器 的 值 以 确 保 与 函 数 进 入 时 的值 相 同 这 种 检 查 让 你 能 够 发 现 在 使 用 函 数 指 针 调 用 函 数 时 被 调 用 函数 期 待 的 清 理 堆 栈 方 式 与 调 用 函 数 提 供 的 清 理 堆 栈 方 式 之 间 的 不 匹 配 情况

第 1 章 V isu a l C + + 引 论 - 图160第 1 章 V isu a l C + + 引 论 - 图161第 1 章 V isu a l C + + 引 论 - 图162第 1 章 V isu a l C + + 引 论 - 图163调 用 堆 栈 有 效 性 检 查 V is u a l C + + 在 每 个 调 用 结 束 时 检 查 堆 栈 指 针 ES P 寄 存 器 第 1 章 V isu a l C + + 引 论 - 图164 以 保 证 该 指 针 没 有 发 生 变 化 这 种 检 查 让 你 能 够 发 现 内 联 汇编 例 程 或 函 数 调 用 中 不 匹 配 的 错 误

_ _ 强 制 内 联 关 键 字

第 1 章 V isu a l C + + 引 论 - 图165第 1 章 V isu a l C + + 引 论 - 图166第 1 章 V isu a l C + + 引 论 - 图167第 1 章 V isu a l C + + 引 论 - 图168第 1 章 V isu a l C + + 引 论 - 图169第 1 章 V isu a l C + + 引 论 - 图170第 1 章 V isu a l C + + 引 论 - 图171第 1 章 V isu a l C + + 引 论 - 图172第 1 章 V isu a l C + + 引 论 - 图173强 制 内 联 关 键 字 在 V is u a l C + + 的 前 一 个 版 本 中 已 经 提 供 在 这 个 版 本 中 功能 又 进 一 步 得 到 了 增 强 通 过 把 被 调 用 函 数 直 接 展 开 到 调 用 函 数 内 部 的 方 法内 联 函 数 避 免 了 函 数 调 用 的 消 耗 使 用 内 联 函 数 可 以 加 快 应 用 程 序 的 运 行 速 度然 而 不 幸 的 是 内 联 代 码 也 增 加 了 可 执 行 代 码 的 长 度 原 因 在 于 每 当 内 联 函 数被 调 用 时 都 要 嵌 入 到 调 用 函 数 中

第 1 章 V isu a l C + + 引 论 - 图174第 1 章 V isu a l C + + 引 论 - 图175第 1 章 V isu a l C + + 引 论 - 图176第 1 章 V isu a l C + + 引 论 - 图177第 1 章 V isu a l C + + 引 论 - 图178第 1 章 V isu a l C + + 引 论 - 图179正 常 情 况 下 V is u a l C + + 要 对 内 联 函 数 进 行 成 本 分 析 以 确 定 使 用 内 联 方 式增 加 的 代 码 长 度 是 否 能 够 得 到 相 应 的 速 度 优 势 在 两 种 情 况 下 V is u a l C + + 按正 常 方 式 创 建 内 联 函 数 的 独 立 副 本 并 以 函 数 方 式 而 不 是 内 联 方 式 调 用 它 递 归函 数 调 用 和 在 转 换 单 元 其 它 地 方 引 用 的 函 数

第 1 章 V isu a l C + + 引 论 - 图180第 1 章 V isu a l C + + 引 论 - 图181第 1 章 V isu a l C + + 引 论 - 图182第 1 章 V isu a l C + + 引 论 - 图183第 1 章 V isu a l C + + 引 论 - 图184第 1 章 V isu a l C + + 引 论 - 图185_ _ 强 制 内 联 关 键 字 通 知 V is u a l C + + 不 执 行 正 常 的 成 本 分 析 并 且 总 把 内 联 函数 编 译 成 内 联 代 码 换 句 话 说 程 序 员 负 责 考 虑 某 些 情 况 下 第 1 章 V isu a l C + + 引 论 - 图186 比 如 递 归 函 数 调用 第 1 章 V isu a l C + + 引 论 - 图187 可 能 产 生 极 大 规 模 代 码 的 问 题 因 此 在 使 用 这 个 新 的 关 键 字 时 要 十 分 小心 确 保 代 码 的 规 模 保 持 在 合 理 的 范 围 内

第 1 章 V isu a l C + + 引 论 - 图188第 1 章 V isu a l C + + 引 论 - 图189第 1 章 V isu a l C + + 引 论 - 图190第 1 章 V isu a l C + + 引 论 - 图191第 1 章 V isu a l C + + 引 论 - 图192第 1 章 V isu a l C + + 引 论 - 图193第 1 章 V isu a l C + + 引 论 - 图194第 1 章 V isu a l C + + 引 论 - 图195第 1 章 V isu a l C + + 引 论 - 图196即 使 使 用 了 _ _ 强 制 内 联 关 键 字 在 某 些 情 况 下 编 译 程 序 依 然 不 生 成 内 联 代码 例 如 使 用 /O b 0 命 令 行 开 关 调 试 模 式 的 一 个 开 关 第 1 章 V isu a l C + + 引 论 - 图197 就 不 生 成 内 联 代 码不 能 生 成 内 联 代 码 的 另 一 种 情 况 是 被 调 用 函 数 使 用 了 变 长 参 数 表 无 论 什 么 情况 下 当 编 译 器 不 能 生 成 内 联 代 码 时 它 都 会 向 你 发 出 第 一 级 的 警 告 信 息 第 1 章 V isu a l C + + 引 论 - 图198 编号 为 4714 第 1 章 V isu a l C + + 引 论 - 图199

ADO 数 据 绑 定

第 1 章 V isu a l C + + 引 论 - 图200第 1 章 V isu a l C + + 引 论 - 图201第 1 章 V isu a l C + + 引 论 - 图202第 1 章 V isu a l C + + 引 论 - 图203第 1 章 V isu a l C + + 引 论 - 图204第 1 章 V isu a l C + + 引 论 - 图205第 1 章 V isu a l C + + 引 论 - 图206第 1 章 V isu a l C + + 引 论 - 图207第 1 章 V isu a l C + + 引 论 - 图208第 1 章 V isu a l C + + 引 论 - 图209第 1 章 V isu a l C + + 引 论 - 图210第 1 章 V isu a l C + + 引 论 - 图211第 1 章 V isu a l C + + 引 论 - 图212第 1 章 V isu a l C + + 引 论 - 图213第 1 章 V isu a l C + + 引 论 - 图214第 1 章 V isu a l C + + 引 论 - 图215M ic ros oft 不 断 地 努 力 改 进 其 编 程 语 言 产 品 的 数 据 访 问 能 力 ADO A c tiv e X D a ta O b je c t A c tiv e X 数 据 对 象 第 1 章 V isu a l C + + 引 论 - 图216 代 表 了 提 供 数 据 访 问 的 一 条 新 的 途 径 它 通 过把 数 据 绑 定 A c tiv e X 控 件 与 ADODC 第 1 章 V isu a l C + + 引 论 - 图217 AD O D a ta C o n tro l ADO 数 据 控 件 第 1 章 V isu a l C + + 引 论 - 图218 结合 起 来 来 实 现 ADODC 作 为 数 据 源 定 义 了 要 显 示 信 息 的 存 储 位 置 和 数 据 访 问需 求 需 要 为 ADODC 提 供 六 段 信 息 O LE - D B 提 供 者 的 名 称 比 如 SQ L Se rv e r 第 1 章 V isu a l C + + 引 论 - 图219 DS N 像 在 控 制 面 板 的 OD B C 设 置 中 那 样 指 定 的 数 据 源 名 称 第 1 章 V isu a l C + + 引 论 - 图220 用 户 名 保 密字 记 录 源 通 常 是 个 SQ L 查 询 第 1 章 V isu a l C + + 引 论 - 图221 以 及 连 接 字 符 串 A c tiv e X 控 件 用 于 显 示 数据 源 的 内 容

第 1 章 V isu a l C + + 引 论 - 图222第 1 章 V isu a l C + + 引 论 - 图223与 以 前 的 数 据 库 访 问 方 法 相 比 AD O 有 数 项 优 点 下 面 就 为 你 介 绍 这 些 优

第 1 章 V isu a l C + + 引 论 - 图224

第 1 章 V isu a l C + + 引 论 - 图225第 1 章 V isu a l C + + 引 论 - 图226第 1 章 V isu a l C + + 引 论 - 图227独 立 地 创 建 对 象 你 不 再 需 要 必 须 遵 循 对 象 的 层 次 这 一 特 性 允 许 你 只创 建 所 需 要 的 对 象 从 而 减 少 了 内 存 需 求 并 加 快 了 应 用 程 序 的 运 行 速度

第 1 章 V isu a l C + + 引 论 - 图228第 1 章 V isu a l C + + 引 论 - 图229第 1 章 V isu a l C + + 引 论 - 图230第 1 章 V isu a l C + + 引 论 - 图231成 批 更 新 代 替 把 每 次 更 新 都 发 送 给 服 务 器 你 可 以 在 本 地 内 存 中 收 集这 些 更 新 然 后 一 次 将 所 有 更 新 都 发 送 给 服 务 器 这 样 我 们 就 改 进 了 应 用程 序 的 性 能 第 1 章 V isu a l C + + 引 论 - 图232 原 因 在 于 可 以 在 后 台 进 行 更 新 第 1 章 V isu a l C + + 引 论 - 图233 并 降 低 了 网 络 的 负 载

第 1 章 V isu a l C + + 引 论 - 图234第 1 章 V isu a l C + + 引 论 - 图235第 1 章 V isu a l C + + 引 论 - 图236存 储 过 程 存 储 过 程 作 为 数 据 库 管 理 器 的 一 部 分 驻 留 在 服 务 器 上 并 且能 够 在 指 定 数 据 集 上 完 成 特 定 的 任 务 ADO 支 持 使 用 带 有 输 入 / 输 出 参数 和 返 回 值 的 存 储 过 程

第 1 章 V isu a l C + + 引 论 - 图237第 1 章 V isu a l C + + 引 论 - 图238第 1 章 V isu a l C + + 引 论 - 图239第 1 章 V isu a l C + + 引 论 - 图240多 种 游 标 类 型 从 本 质 上 讲 游 标 指 向 当 前 要 操 作 的 数 据 理 论 上 说你 甚 至 可 以 使 用 特 定 的 后 台 游 标

第 1 章 V isu a l C + + 引 论 - 图241返 回 行 数 限 制 你 只 得 到 能 够 满 足 用 户 实 际 数 据 需 求 的 数 据 量

第 1 章 V isu a l C + + 引 论 - 图242多 记 录 集 对 象 该 功 能 支 持 操 作 存 储 过 程 或 批 处 理 过 程 返 回 的 多 个 记 录集

第 1 章 V isu a l C + + 引 论 - 图243自 由 线 索 化 对 象 增 强 了 W e b 服 务 器 的 功 能

第 1 章 V isu a l C + + 引 论 - 图244第 1 章 V isu a l C + + 引 论 - 图245第 1 章 V isu a l C + + 引 论 - 图246第 1 章 V isu a l C + + 引 论 - 图247第 1 章 V isu a l C + + 引 论 - 图248第 1 章 V isu a l C + + 引 论 - 图249第 1 章 V isu a l C + + 引 论 - 图250有 两 种 数 据 绑 定 模 型 可 用 于 A c tiv e X 控 件 第 一 个 模 型 是 简 单 的 数 据 绑 定它 允 许 使 用 像 文 本 框 这 样 的 A c tiv e X 控 件 显 示 一 条 记 录 的 一 个 字 段 第 二 个 模型 是 复 杂 的 数 据 绑 定 它 允 许 使 用 像 网 格 这 样 的 A c tiv e X 控 件 同 时 显 示 多 条 记录 的 多 个 字 段 复 杂 的 数 据 绑 定 也 要 求 A c tiv e X 控 件 管 理 要 显 示 哪 些 记 录 和 哪些 字 段 这 是 简 单 数 据 绑 定 时 ADODC 通 常 要 完 成 的 任 务

第 1 章 V isu a l C + + 引 论 - 图251第 1 章 V isu a l C + + 引 论 - 图252V is u a l C + + 本 身 带 了 一 些 支 持 AD O 的 A c tiv e X 控 件 其 中 包 括

D a ta G rid

D a ta C o m b o D a ta L is t

H iera rch ic al F lex G r id D a te a nd T im e P ic k e r

ATL 复 合 控 件

第 1 章 V isu a l C + + 引 论 - 图253第 1 章 V isu a l C + + 引 论 - 图254第 1 章 V isu a l C + + 引 论 - 图255第 1 章 V isu a l C + + 引 论 - 图256第 1 章 V isu a l C + + 引 论 - 图257第 1 章 V isu a l C + + 引 论 - 图258这 一 特 性 让 你 能 够 按 自 己 的 方 式 使 用 其 它 控 件 创 建 出 新 的 AT L A c tiv e T e m p late L ib ra r y 活 动 模 板 库 第 1 章 V isu a l C + + 引 论 - 图259 控 件 定 制 这 样 的 控 件 时 要 打 开 一 个 对 话 框 然 后在 对 话 框 中 填 入 窗 口 和 A c tiv e X 控 件 该 对 话 框 占 据 了 新 控 件 的 整 个 客 户 区

第 1 章 V isu a l C + + 引 论 - 图260第 1 章 V isu a l C + + 引 论 - 图261使 用 这 两 个 向 导 之 一 能 够 创 建 AT L 复 合 控 件 A TL C O M A p p W iz a rd 或 AT L O b ject W iza rd

第 1 章 V isu a l C + + 引 论 - 图262第 1 章 V isu a l C + + 引 论 - 图263第 1 章 V isu a l C + + 引 论 - 图264第 1 章 V isu a l C + + 引 论 - 图265第 1 章 V isu a l C + + 引 论 - 图266第 1 章 V isu a l C + + 引 论 - 图267第 1 章 V isu a l C + + 引 论 - 图268第 1 章 V isu a l C + + 引 论 - 图269第 1 章 V isu a l C + + 引 论 - 图270绝 大 多 数 程 序 员 使 用 这 项 技 术 的 原 因 是 它 能 够 创 建 一 个 作 为 单 一 A c tiv e X 控 件 显 示 的 窗 体 例 如 如 果 你 现 在 正 要 求 用 户 下 载 一 个 有 许 多 控 件 的 窗 体 来显 示 W e b 页 面 那 么 使 用 AT L 复 合 控 件 可 以 减 低 下 载 任 务 的 复 杂 性 当 你 修改 了 AT L 复 合 控 件 时 用 户 只 需 要 下 载 一 个 控 件 也 就 可 以 了 这 种 下 载 方 式 不仅 加 快 了 控 件 的 下 载 速 度 而 且 也 降 低 了 下 载 失 败 的 可 能 性 第 1 章 V isu a l C + + 引 论 - 图271 要 么 下 载 整 个 控件 要 么 不 下 载 — — 而 不 会 下 载 部 分 窗 体 第 1 章 V isu a l C + + 引 论 - 图272

AutoComple tion

第 1 章 V isu a l C + + 引 论 - 图273第 1 章 V isu a l C + + 引 论 - 图274第 1 章 V isu a l C + + 引 论 - 图275第 1 章 V isu a l C + + 引 论 - 图276第 1 章 V isu a l C + + 引 论 - 图277A u to C o m p le t io n 特 性 帮 助 你 完 成 C+ + 头 文 件 和 源 代 码 文 件 中 的 语 句 应 用该 功 能 时 你 会 看 到 一 个 带 有 完 成 代 码 行 可 能 选 项 的 列 表 框 例 如 考 虑 下 面的 代 码

C S trin g o M y S trin g ; o M y S trin g .

第 1 章 V isu a l C + + 引 论 - 图278第 1 章 V isu a l C + + 引 论 - 图279第 1 章 V isu a l C + + 引 论 - 图280第 1 章 V isu a l C + + 引 论 - 图281第 1 章 V isu a l C + + 引 论 - 图282第 1 章 V isu a l C + + 引 论 - 图283第 1 章 V isu a l C + + 引 论 - 图284第 1 章 V isu a l C + + 引 论 - 图285第 1 章 V isu a l C + + 引 论 - 图286第 1 章 V isu a l C + + 引 论 - 图287第 1 章 V isu a l C + + 引 论 - 图288第 1 章 V isu a l C + + 引 论 - 图289第 1 章 V isu a l C + + 引 论 - 图290当 你 在 oM y S tr in g 后 输 入 圆 点 时 你 就 会 看 到 一 个 包 含 了 C S trin g 对 象 的 各种 方 法 和 属 性 的 列 表 框 此 时 你 可 以 向 下 滚 动 列 表 框 找 到 所 需 的 属 性 或 方法 后 单 击 该 属 性 或 方 法 相 应 的 属 性 或 方 法 就 会 填 充 到 原 点 后 面 当 然 也 可 以输 入 你 要 使 用 的 方 法 或 属 性 的 前 几 个 字 母 列 表 框 会 随 着 输 入 过 程 的 进 行 而 朝希 望 的 名 称 滚 动 一 旦 你 选 择 了 某 个 方 法 或 属 性 V is u a l C + + 将 自 动 键 入 你 要使 用 的 属 性 或 方 法 的 名 称 这 样 就 大 大 减 少 了 文 字 输 入 的 时 间 从 而 有 更 多 的时 间 编 写 代 码

技 巧 如 果 你 的 环 境 中 丢 失 了 AutoComple tion 列 表 框 那 么 在 该 列 表 框 先前 出 现 过 的 地 方 右 击 然 后 从 上 下 文 菜 单 中 选 择 List Members 菜 单项 这 个 列 表 框 就 会 重 新 显 示 在 你 的 面 前

第 1 章 V isu a l C + + 引 论 - 图291第 1 章 V isu a l C + + 引 论 - 图292第 1 章 V isu a l C + + 引 论 - 图293第 1 章 V isu a l C + + 引 论 - 图294第 1 章 V isu a l C + + 引 论 - 图295第 1 章 V isu a l C + + 引 论 - 图296第 1 章 V isu a l C + + 引 论 - 图297第 1 章 V isu a l C + + 引 论 - 图298现 在 假 定 你 正 在 查 看 A u to C o m p le t io n 列 表 框 但 还 不 能 肯 定 C S trin g 对 象 的A n s i T o O e m () 方 法 存 在 的 限 制 如 果 你 加 亮 这 个 列 表 项 并 把 鼠 标 指 针 放 置 到 这 个列 表 项 上 就 会 看 到 一 个 气 球 帮 助 它 告 诉 你 该 方 法 最 多 可 处 理 255 个 字 符

第 1 章 V isu a l C + + 引 论 - 图299第 1 章 V isu a l C + + 引 论 - 图300第 1 章 V isu a l C + + 引 论 - 图301这 种 气 球 型 帮 助 正 是 V is u a l C + + 的 另 一 个 新 特 性 称 做 文 档 注 释 D o c C o m - m e n t 第 1 章 V isu a l C + + 引 论 - 图302

第 1 章 V isu a l C + + 引 论 - 图303第 1 章 V isu a l C + + 引 论 - 图304第 1 章 V isu a l C + + 引 论 - 图305第 1 章 V isu a l C + + 引 论 - 图306第 1 章 V isu a l C + + 引 论 - 图307第 1 章 V isu a l C + + 引 论 - 图308第 1 章 V isu a l C + + 引 论 - 图309第 1 章 V isu a l C + + 引 论 - 图310第 1 章 V isu a l C + + 引 论 - 图311第 1 章 V isu a l C + + 引 论 - 图312文 档 注 释 并 不 仅 仅 是 V is u a l C + + 软 件 包 的 一 部 分 你 也 可 以 把 这 样 的 注 释添 加 到 你 的 函 数 和 变 量 上 方 法 很 简 单 你 所 要 做 的 就 是 或 者 在 函 数 或 变 量 说明 的 前 面 加 上 一 条 注 释 或 者 把 注 释 放 置 到 变 量 或 函 数 说 明 的 同 一 行 上 利 用这 个 特 性 你 可 以 向 其 他 人 提 供 函 数 或 变 量 的 各 种 信 息 显 然 你 不 会 希 望 把 这个 注 释 弄 得 很 大 M ic ros oft 把 文 档 注 释 的 长 度 限 制 为 12 行 对 绝 大 多 数 情 况来 说 在 这 个 限 制 下 也 足 够 使 用 了

第 1 章 V isu a l C + + 引 论 - 图313第 1 章 V isu a l C + + 引 论 - 图314第 1 章 V isu a l C + + 引 论 - 图315第 1 章 V isu a l C + + 引 论 - 图316第 1 章 V isu a l C + + 引 论 - 图317第 1 章 V isu a l C + + 引 论 - 图318文 档 注 释 并 不 局 限 于 在 A u to C o m p le t io n 列 表 框 中 使 用 把 鼠 标 指 针 放 置 到某 个 变 量 或 函 数 上 你 会 看 到 在 与 A u to C o m p le t io n 列 表 框 中 显 示 的 相 同 的 文 档注 释 气 球 正 如 你 所 看 到 的 文 档 注 释 是 为 你 的 应 用 程 序 提 供 连 续 文 档 的 迅 捷方 法 并 且 也 使 得 阅 读 你 的 代 码 的 其 他 人 更 方 便 地 理 解 代 码

改 进 的 ClassView 和 WizardBar

第 1 章 V isu a l C + + 引 论 - 图319第 1 章 V isu a l C + + 引 论 - 图320M ic ros oft 为 C la ssV ie w 和 W iz a rd B a r 都 提 供 了 一 些 新 特 性 下 面 的 列 表 予以 介 绍

第 1 章 V isu a l C + + 引 论 - 图321第 1 章 V isu a l C + + 引 论 - 图322第 1 章 V isu a l C + + 引 论 - 图323第 1 章 V isu a l C + + 引 论 - 图324第 1 章 V isu a l C + + 引 论 - 图325删 除 成 员 函 数 现 在 不 需 要 你 做 许 多 工 作 就 可 以 删 除 成 员 函 数 了 你 所必 须 完 成 的 所 有 任 务 就 是 把 光 标 放 置 到 成 员 函 数 内 部 然 后 从 W iz a rd B a r A c tio n 下 拉 列 表 框 中 选 择 D e le te 或 在 C la ssW iz a rd 对 话 框 的 M e s s a g e M a p s 选 项 卡 中 选 择 D e le te F u n c tio n 无 论 使 用 哪 种 方 法 V is u a l C + + 都 从 头 文件 中 删 除 函 数 声 明 并 在 源 代 码 中 注 解 掉 函 数 体 这 种 处 理 方 式 让 你 在 需

第 1 章 V isu a l C + + 引 论 - 图326第 1 章 V isu a l C + + 引 论 - 图327要 被 删 除 掉 的 函 数 时 可 以 轻 易 地 恢 复 该 函 数

第 1 章 V isu a l C + + 引 论 - 图328第 1 章 V isu a l C + + 引 论 - 图329第 1 章 V isu a l C + + 引 论 - 图330转 移 到 对 话 框 编 辑 器 这 个 功 能 只 在 创 建 对 话 框 风 格 的 应 用 程 序 时 可 以使 用 选 择 包 含 所 需 对 话 框 的 类 然 后 在 W iz a rd B a r A c tio n 下 拉 列 表 框中 选 择 G o to D ia lo g E d ito r 选 项

第 1 章 V isu a l C + + 引 论 - 图331第 1 章 V isu a l C + + 引 论 - 图332第 1 章 V isu a l C + + 引 论 - 图333第 1 章 V isu a l C + + 引 论 - 图334第 1 章 V isu a l C + + 引 论 - 图335第 1 章 V isu a l C + + 引 论 - 图336第 1 章 V isu a l C + + 引 论 - 图337第 1 章 V isu a l C + + 引 论 - 图338第 1 章 V isu a l C + + 引 论 - 图339第 1 章 V isu a l C + + 引 论 - 图340第 1 章 V isu a l C + + 引 论 - 图341第 1 章 V isu a l C + + 引 论 - 图342第 1 章 V isu a l C + + 引 论 - 图343新 窗 体 向 你 的 工 程 中 添 加 新 的 窗 体 你 会 看 到 一 个 N e w F o rm 对 话 框在 这 个 对 话 框 中 选 择 窗 体 名 窗 体 的 基 类 最 常 用 的 基 类 包 括 Cd a o R e - co rd V ie w C fo rm V ie w CD ia lo g 以 及 CR e c o rd V ie w 第 1 章 V isu a l C + + 引 论 - 图344 以 及 资 源 编 号基 类 的 选 择 部 分 依 赖 于 你 正 创 建 的 应 用 程 序 的 类 型 和 使 用 应 用 程 序 向 导过 程 中 所 做 的 各 种 选 择 某 些 情 况 下 你 也 将 可 以 选 择 自 动 化 方 式 并 提供 文 档 的 模 板 信 息 当 某 些 选 项 当 前 不 能 使 用 时 V is u a l C + + 会 把 这 些选 项 变 成 灰 色 方 式 显 示

第 1 章 V isu a l C + + 引 论 - 图345第 1 章 V isu a l C + + 引 论 - 图346第 1 章 V isu a l C + + 引 论 - 图347第 1 章 V isu a l C + + 引 论 - 图348第 1 章 V isu a l C + + 引 论 - 图349第 1 章 V isu a l C + + 引 论 - 图350第 1 章 V isu a l C + + 引 论 - 图351跟 踪 空 类 现 在 W iz a rd B a r 可 以 跟 踪 所 有 类 即 使 那 些 没 有 成 员 函 数 的类 也 一 样 能 够 跟 踪 如 果 你 选 择 了 某 个 没 有 成 员 函 数 的 类 那 么 W iz a rd - B a r 的 M e m b e rs 组 合 框 中 将 显 示 N o M e m b ers - C reate N e w C las s 缺省 的 W iz a rd B a r 动 作 是 向 空 类 中 添 加 一 个 新 的 成 员

第 1 章 V isu a l C + + 引 论 - 图352注 使 用 Insert | N ew Form 命 令 也 可 以 打 开 New Form 对 话 框

命 令 行 参 数

第 1 章 V isu a l C + + 引 论 - 图353第 1 章 V isu a l C + + 引 论 - 图354第 1 章 V isu a l C + + 引 论 - 图355第 1 章 V isu a l C + + 引 论 - 图356第 1 章 V isu a l C + + 引 论 - 图357第 1 章 V isu a l C + + 引 论 - 图358V is u a l C + + 提 供 了 一 个 崭 新 的 M S D E V 实 用 程 序 利 用 这 个 实 用 程 序 你 可以 直 接 从 命 令 行 来 编 译 工 程 而 无 须 首 先 移 出 M AKE 文 件 然 后 再 使 用 NM AKE 实 用 程 序 来 完 成 编 译 M S D E V 实 用 程 序 的 语 法 为

M S D E V < F i le na m e > [/ M A K E " < P roje c t N a m e > - < C onfigu ra t ion N a m e > |

AL L " ] [/ R E B U IL D / C L E AN / NOR E C UR S E / O UT < L o g F i le > / U S E E N V ]

第 1 章 V isu a l C + + 引 论 - 图359第 1 章 V isu a l C + + 引 论 - 图360第 1 章 V isu a l C + + 引 论 - 图361第 1 章 V isu a l C + + 引 论 - 图362你必须提 供 D S P 工程 第 1 章 V isu a l C + + 引 论 - 图363或 DS W 工作区 第 1 章 V isu a l C + + 引 论 - 图364 文件名 下面的文 字描述 了可选 的命令行开关

第 1 章 V isu a l C + + 引 论 - 图365第 1 章 V isu a l C + + 引 论 - 图366第 1 章 V isu a l C + + 引 论 - 图367第 1 章 V isu a l C + + 引 论 - 图368第 1 章 V isu a l C + + 引 论 - 图369第 1 章 V isu a l C + + 引 论 - 图370第 1 章 V isu a l C + + 引 论 - 图371第 1 章 V isu a l C + + 引 论 - 图372第 1 章 V isu a l C + + 引 论 - 图373第 1 章 V isu a l C + + 引 论 - 图374/M A K E 该 选 项 让 指 定 编 译 时 使 用 的 工 程 和 配 置 工 程 名 P ro ject N a m e 第 1 章 V isu a l C + + 引 论 - 图375 总 是 工 程 创 建 过 程 中 你 为 工 程 起 的 名 称 配 置 名 C onfigura tio n N a m e 第 1 章 V isu a l C + + 引 论 - 图376 既 可 以 是 像 W in3 2 D e bug 这 样 的 特 定 名 称 也 可 以 是 所 有 可 用的 配 置 使 用 AL L 关 键 字 第 1 章 V isu a l C + + 引 论 - 图377 V is u a l C + + 支 持 在 一 行 上 使 用 多 个 / M AKE 参 数 因 此 你 可 以 创 建 任 意 多 个 配 置

第 1 章 V isu a l C + + 引 论 - 图378第 1 章 V isu a l C + + 引 论 - 图379第 1 章 V isu a l C + + 引 论 - 图380/R E B U IL D 在 开 始 编 译 前 首 先 清 除 所 有 中 间 文 件 然 后 建 立 新 的 中 间文 件 这 种 方 式 保 证 进 行 完 整 编 译

第 1 章 V isu a l C + + 引 论 - 图381第 1 章 V isu a l C + + 引 论 - 图382/C L E A N 在 开 始 编 译 前 首 先 清 除 所 有 中 间 文 件 但 并 不 重 建 中 间 文 件

第 1 章 V isu a l C + + 引 论 - 图383第 1 章 V isu a l C + + 引 论 - 图384/ N OR E C UR S E 编 译 当 前 工 程 但 并 不 编 译 与 该 工 程 相 关 的 其 他 工 程

第 1 章 V isu a l C + + 引 论 - 图385第 1 章 V isu a l C + + 引 论 - 图386/O U T < L o g F ile > 把 屏 幕 输 出 重 定 向 到 一 个 记 录 文 件 中 利 用 该 记 录 文件 可 以 分 析 编 译 中 发 现 的 错 误 并 进 行 相 应 校 正

第 1 章 V isu a l C + + 引 论 - 图387第 1 章 V isu a l C + + 引 论 - 图388第 1 章 V isu a l C + + 引 论 - 图389第 1 章 V isu a l C + + 引 论 - 图390/U S E E N V 忽 略 DS W 或 DS P 文 件 中 的 too ls . op tions . d ire c to r ie s 设 置 并用 当 前 环 境 中 的 设 置 进 行 替 代 这 样 就 可 以 不 用 重 新 打 开 V is u a l C + + 而覆 盖 环 境 设 置 但 这 种 做 法 也 意 味 着 可 能 会 产 生 错 误

全 面 改 进 的 编 译 器

第 1 章 V isu a l C + + 引 论 - 图391第 1 章 V isu a l C + + 引 论 - 图392第 1 章 V isu a l C + + 引 论 - 图393第 1 章 V isu a l C + + 引 论 - 图394编 译 大 型 PC H 文 件 的 工 程 将 花 费 更 少 的 时 间 虽 然 你 会 注 意 到 对 小 型 工 程速 度 的 改 进 但 对 使 用 大 型 PC H 文 件 的 工 程 来 说 这 种 改 进 更 加 明 显

延 迟 加 载 移 入

第 1 章 V isu a l C + + 引 论 - 图395第 1 章 V isu a l C + + 引 论 - 图396第 1 章 V isu a l C + + 引 论 - 图397第 1 章 V isu a l C + + 引 论 - 图398第 1 章 V isu a l C + + 引 论 - 图399第 1 章 V isu a l C + + 引 论 - 图400第 1 章 V isu a l C + + 引 论 - 图401第 1 章 V isu a l C + + 引 论 - 图402正 常 情 况 下 有 两 种 方 式 使 用 DL L 可 以 让 应 用 程 序 自 动 加 载 DL L 也 可以 根 据 需 要 手 工 地 加 载 和 卸 载 DL L 延 迟 加 载 特 性 为 你 提 供 了 第 三 种 选 择 它允 许 应 用 程 序 在 需 要 时 自 动 加 载 DL L 这 就 是 说 如 果 用 户 未 要 求 使 用 某 种 服务 — — 比 如 说 你 的 字 处 理 应 用 程 序 中 的 拼 写 检 查 — — 那 么 系 统 就 不 会 加 载 相 应的 DL L

第 1 章 V isu a l C + + 引 论 - 图403第 1 章 V isu a l C + + 引 论 - 图404第 1 章 V isu a l C + + 引 论 - 图405对 程 序 员 来 说 使 用 这 一 特 性 并 不 需 要 做 多 少 工 作 你 要 完 成 的 所 有 任 务就 是 在 链 接 应 用 程 序 时 加 上 / D E L AY L O AD 命 令 行 开 关 并 把 DE L AY IM P . L IB 添加 到 链 接 文 件 列 表 中

动 态 HTML

第 1 章 V isu a l C + + 引 论 - 图406第 1 章 V isu a l C + + 引 论 - 图407第 1 章 V isu a l C + + 引 论 - 图408第 1 章 V isu a l C + + 引 论 - 图409第 1 章 V isu a l C + + 引 论 - 图410第 1 章 V isu a l C + + 引 论 - 图411第 1 章 V isu a l C + + 引 论 - 图412新 的 M F C 类 CH T M L 允 许 你 把 动 态 HT M L DHT M L 第 1 章 V isu a l C + + 引 论 - 图413 视 图 添 加 到 你 的 应用 程 序 中 这 个 类 真 正 的 功 能 就 是 在 不 需 要 多 做 多 少 编 程 的 情 况 下 可 以 把 W e b 浏 览 器 加 入 到 应 用 程 序 中 显 然 由 于 V is u a l C + + 是 微 软 的 产 品 你 的 应 用 程序 中 的 W e b 浏 览 器 将 是 In te rn e t E xp lore r 4 特 性 的 翻 版 这 个 特 性 让 你 能 够 以 对用 户 近 乎 透 明 的 方 式 把 桌 面 应 用 和 In te rn e t 应 用 混 合 在 一 起

动 态 语 法 分 析

第 1 章 V isu a l C + + 引 论 - 图414第 1 章 V isu a l C + + 引 论 - 图415第 1 章 V isu a l C + + 引 论 - 图416第 1 章 V isu a l C + + 引 论 - 图417第 1 章 V isu a l C + + 引 论 - 图418第 1 章 V isu a l C + + 引 论 - 图419第 1 章 V isu a l C + + 引 论 - 图420第 1 章 V isu a l C + + 引 论 - 图421第 1 章 V isu a l C + + 引 论 - 图422第 1 章 V isu a l C + + 引 论 - 图423第 1 章 V isu a l C + + 引 论 - 图424第 1 章 V isu a l C + + 引 论 - 图425随 着 向 应 用 程 序 中 键 入 新 的 类 函 数 以 及 变 量 信 息 C la ssV ie w 现 在 能 够 自动 进 行 更 新 这 样 我 们 随 时 都 可 以 看 到 应 用 程 序 中 的 变 化 而 无 须 等 待 将 它 们 保存 到 源 文 件 中 这 个 特 性 也 意 味 着 像 W iz a rd B a r 和 C la ssW iz a rd 这 样 的 部 件 总 是最 新 的

注 释 这 个 特 性 现 在 还 存 在 一 些 问 题 微 软 许 诺 在 该 产 品 发 行 时 这 些 问 题将 得 到 纠 正 例 如 某 些 输 入 错 误 将 会 导 致 Visual C++ 不 正 确 地 猜测 你 的 意 图 结 果 造 成 了 I D E 的 死 循 环 在 所 有 情 况 下 重 新 启 动 I D E 就 会 清 除 这 样 的 问 题

编 辑 和 继 续 特 性

第 1 章 V isu a l C + + 引 论 - 图426第 1 章 V isu a l C + + 引 论 - 图427第 1 章 V isu a l C + + 引 论 - 图428第 1 章 V isu a l C + + 引 论 - 图429第 1 章 V isu a l C + + 引 论 - 图430第 1 章 V isu a l C + + 引 论 - 图431编 辑 和 继 续 特 性 让 你 能 够 在 调 试 应 用 程 序 时 对 应 用 程 序 做 些 小 的 改 动 而无 须 从 头 重 建 工 程 这 个 特 性 不 仅 让 我 们 能 够 进 行 更 快 速 的 调 试 而 且 也 可 以对 应 用 程 序 执 行 如 果 — — 那 么 类 型 的 分 析

第 1 章 V isu a l C + + 引 论 - 图432第 1 章 V isu a l C + + 引 论 - 图433第 1 章 V isu a l C + + 引 论 - 图434第 1 章 V isu a l C + + 引 论 - 图435使 用 编 辑 和 继 续 特 性 时 也 存 在 一 些 限 制 如 果 修 改 的 代 码 超 过 了 编 辑 和 继续 特 性 能 够 完 成 的 范 围 那 么 V is u a l C + + 简 单 地 提 示 你 重 建 工 程 下 面 的 列 表给 出 了 不 能 使 用 编 辑 和 继 续 特 性 的 一 般 原 则

  • 头 文 件

  • 全 局 / 静 态 数 据

  • 类 定 义 和 函 数 原 型

  • 引 入 新 的 变 量 类 型

  • 例 外 处 理 模 块

第 1 章 V isu a l C + + 引 论 - 图436第 1 章 V isu a l C + + 引 论 - 图437第 1 章 V isu a l C + + 引 论 - 图438第 1 章 V isu a l C + + 引 论 - 图439第 1 章 V isu a l C + + 引 论 - 图440第 1 章 V isu a l C + + 引 论 - 图441第 1 章 V isu a l C + + 引 论 - 图442第 1 章 V isu a l C + + 引 论 - 图443编 辑 和 继 续 特 性 在 缺 省 情 况 下 是 打 开 的 因 此 使 用 该 特 性 时 不 需 要 做 任 何特 殊 的 工 作 如 果 想 关 闭 该 特 性 那 么 使 用 T oo ls | O p t ions 命 令 来 显 示 O p tions 对 话 框 选 择 D e bug 选 项 卡 不 选 中 D e bug C o m m a nds Invoke E d i t a nd C o n t inue D e bugg ing 选 项 当 打 开 或 关 闭 该 特 性 后 需 要 完 整 地 重 建 工 程

扩 展 存 储 过 程 向 导

第 1 章 V isu a l C + + 引 论 - 图444存 储 过 程 让 你 能 够 以 某 种 方 式 操 作 数 据 库 中 的 数 据 并 把 结 果 输 出 给 用 户

第 1 章 V isu a l C + + 引 论 - 图445第 1 章 V isu a l C + + 引 论 - 图446第 1 章 V isu a l C + + 引 论 - 图447第 1 章 V isu a l C + + 引 论 - 图448第 1 章 V isu a l C + + 引 论 - 图449V is u a l C + + 提 供 了 一 个 新 的 向 导 帮 助 你 创 建 SQ L Se rv e r 的 存 储 过 程 这 些 存 储过 程 使 用 了 带 有 名 称 为 E x te nde d s tore d proc e dure 扩 展 存 储 过 程 第 1 章 V isu a l C + + 引 论 - 图450 的 函 数 的 CO M 接 口 当 我 们 在 SQ L Se rv e r 上 注 册 了 扩 展 存 储 过 程 DL L 后 就 可 以 访 问 使 用标 准 CO M 接 口 检 索 出 的 数 据 了

新 的 调 试 特 性

第 1 章 V isu a l C + + 引 论 - 图451第 1 章 V isu a l C + + 引 论 - 图452第 1 章 V isu a l C + + 引 论 - 图453第 1 章 V isu a l C + + 引 论 - 图454V is u a l C + + 提 供 了 丰 富 的 新 调 试 特 性 这 些 特 性 让 你 能 够 更 容 易 地 找 出 应 用程 序 中 存 在 的 缺 陷 表 1 .2 列 出 了 所 有 这 些 新 特 性 并 给 出 了 每 个 特 性 的 简 单描 述

第 1 章 V isu a l C + + 引 论 - 图455第 1 章 V isu a l C + + 引 论 - 图456第 1 章 V isu a l C + + 引 论 - 图457第 1 章 V isu a l C + + 引 论 - 图458第 1 章 V isu a l C + + 引 论 - 图459第 1 章 V isu a l C + + 引 论 - 图460第 1 章 V isu a l C + + 引 论 - 图461第 1 章 V isu a l C + + 引 论 - 图462第 1 章 V isu a l C + + 引 论 - 图463第 1 章 V isu a l C + + 引 论 - 图464第 1 章 V isu a l C + + 引 论 - 图465第 1 章 V isu a l C + + 引 论 - 图466第 1 章 V isu a l C + + 引 论 - 图467第 1 章 V isu a l C + + 引 论 - 图468第 1 章 V isu a l C + + 引 论 - 图469第 1 章 V isu a l C + + 引 论 - 图470第 1 章 V isu a l C + + 引 论 - 图471第 1 章 V isu a l C + + 引 论 - 图472第 1 章 V isu a l C + + 引 论 - 图473第 1 章 V isu a l C + + 引 论 - 图474第 1 章 V isu a l C + + 引 论 - 图475表 1 .2 新调试特 性概览

特性

描述

VA R IA N T 和

GU ID 的 自 动 扩展

AUT OE XP .DAT 自 动 扩 展 第 1 章 V isu a l C + + 引 论 - 图476 文 件 包 含 了 以 更 有 意 义 方式显示 VAR IA NT 和 GU ID 的新规则 AUT OE XP .DAT 文件放 置 在 硬 盘 的 P rog ra m F ile s \ M ic ros oft V is u a l S tu- d io \ C o m m o n \M S D e v 9 8 \B in 目 录 中 第 1 章 V isu a l C + + 引 论 - 图477 例 如 VAR IA NT 现 在将 以 实 际 包 含 数 据 的 数 据 类 型 方 式 显 示 字 符 串 就 显 示 为 字符串 另外 V is u a l C + + 同时显示 VAR IA NT 类型以及 相应的值 GU ID 并不一 定要显 示为一 串数字 V is u a l C + + 将努力 在

注册表中 查找 GU ID 的名称并 以名称进行显 示

调 试 器 格 式 化符号

V is u a l C + + 支持完整 的新调试器符 号

,h r 像通用 CO M 返回值那 样显示 32 位结果或 出错代码比如 S_ O K 或 E _ NOT IM P L 如果它 不能显示精确 的出错值V is u a l C + + 将 试 图 把 返 回 值 转 换 成 像 N o t E n ou gh m e m o ry 这样的出 错信息

,m q

让你以四 个四字方式显 示内存

以此 代替

64

位寄存

,s t 根据 AUT OE XP .DAT 文件中 U n ic o d e S tr in g s 设置值决定以 U n ic o d e 还是 ANS I 格式来显 示字符串

,w c 以解码的 W indo w s 类标志 W C _ c o n s ta n ts 第 1 章 V isu a l C + + 引 论 - 图478 来显示 数

值值

第 1 章 V isu a l C + + 引 论 - 图479第 1 章 V isu a l C + + 引 论 - 图480第 1 章 V isu a l C + + 引 论 - 图481第 1 章 V isu a l C + + 引 论 - 图482第 1 章 V isu a l C + + 引 论 - 图483第 1 章 V isu a l C + + 引 论 - 图484第 1 章 V isu a l C + + 引 论 - 图485第 1 章 V isu a l C + + 引 论 - 图486第 1 章 V isu a l C + + 引 论 - 图487第 1 章 V isu a l C + + 引 论 - 图488第 1 章 V isu a l C + + 引 论 - 图489第 1 章 V isu a l C + + 引 论 - 图490第 1 章 V isu a l C + + 引 论 - 图491第 1 章 V isu a l C + + 引 论 - 图492第 1 章 V isu a l C + + 引 论 - 图493第 1 章 V isu a l C + + 引 论 - 图494第 1 章 V isu a l C + + 引 论 - 图495第 1 章 V isu a l C + + 引 论 - 图496第 1 章 V isu a l C + + 引 论 - 图497第 1 章 V isu a l C + + 引 论 - 图498第 1 章 V isu a l C + + 引 论 - 图499第 1 章 V isu a l C + + 引 论 - 图500第 1 章 V isu a l C + + 引 论 - 图501第 1 章 V isu a l C + + 引 论 - 图502续 表

,w m 以解码的 W indow s 消息 值 W M _c on s ta n ts 第 1 章 V isu a l C + + 引 论 - 图503 来显示数值值

反汇编输 出

在 反 汇 编 输 出 中 提 供 了 更 多 的 信 息 其 中 包 括 可 用 时 的符号信息

L o a d C O FF & Ex p o r ts

该选 项 放 置在 O p t ions 对话 框的 D e b u g 选 项 卡 中 使 用T o o ls | O p t ions 命令可以 打开该对话框 第 1 章 V isu a l C + + 引 论 - 图504 这个选项 让你加载附加的调 试信息 这些 信息可以被不 是 V is u a l C + + 的其它编 译器使用 V is u a l C + + 使用 C ode V ie w 格式的调 试信息 第 1 章 V isu a l C + + 引 论 - 图505 例如 V isu a l B a sic 在 M S VB V M 5 0 .DB G 文件中提 供了通用对象 文件格式 CO F F 第 1 章 V isu a l C + + 引 论 - 图506 的调试信息 当 没有其它调试信 息第 1 章 V isu a l C + + 引 论 - 图507 至少是 V is u a l C+ + 能够识别 的信息 第 1 章 V isu a l C + + 引 论 - 图508 可用时 移 出选项就发挥 作用了 V is u a l C+ + 将 加 载 每 个 DL L 移 出 表 的 内 容 并 将 其 转 换 成 用 于 调 试 目

的的符号 信息

寄 存 器

几 个 新 的 寄 存 器 将 帮 助 我 们 找 出 应 用 程 序 中 的 更 详 细 信息 T h re a d In fo rm a t io n B lo c k s T IB s 线程信 息块 第 1 章 V isu a l C + + 引 论 - 图509 伪寄存 器提 供 了 当 前 线 程 的 信 息 ER R 伪 寄 存 器 显 示 应 用 程 序 中 最 近一 次 发 生 错 误 的 错 误 代 码 该 寄 存 器 与 G e tL a s tE r ro r ( ) 函 数 调用完成相 同的任务 对 ER R 寄存器加 上 ,h r 修饰符后 的功能将显示 32 位的出错 代码 同时给 出像 N o t E n o u g h m e m o ry 这样的出错 信息 64 位 M M X 寄存器值 现在显示在 W a tc h 和 Q u ic k

W a tc h 窗口中 在所有的 x86 机器上都 显示这些寄存 器 即使

这些机器

本身并不支持 M M X 指令

未修饰符 号

简 单在 某 些 地

将包含可

地 说 这 个 特 性 表 示 你 不 会方 的 无 意 义 的 一 大 串 字 符

用时的参数信 息

再另

在外

第 1 章 V isu a l C + + 引 论 - 图510

数所

名有

中的

看函

到数

隐名

藏都

V _ T a b le 和数指针显 示

可 能

显示 其

时 函 数 指 针 和 虚 表 项 像 文中用参数来代 替 16 进制地址

第 1 章 V isu a l C + + 引 论 - 图511

第 1 章 V isu a l C + + 引 论 - 图512

第 1 章 V isu a l C + + 引 论 - 图513

第 1 章 V isu a l C + + 引 论 - 图514第 1 章 V isu a l C + + 引 论 - 图515第 1 章 V isu a l C + + 引 论 - 图516OLE-DB 提 供 者 模 板

第 1 章 V isu a l C + + 引 论 - 图517第 1 章 V isu a l C + + 引 论 - 图518第 1 章 V isu a l C + + 引 论 - 图519第 1 章 V isu a l C + + 引 论 - 图520第 1 章 V isu a l C + + 引 论 - 图521第 1 章 V isu a l C + + 引 论 - 图522第 1 章 V isu a l C + + 引 论 - 图523使 用 O LE - D B 提 供 者 模 板 可 以 开 发 O LE - D B 访 问 接 口 特 别 是 到 远 程 数 据库 的 连 接 该 模 板 并 不 完 成 什 么 神 奇 的 功 能 它 所 完 成 的 任 务 也 就 是 把 访 问O LE - D B 技 术 的 过 程 变 得 容 易 些 O LE - D B 是 微 软 最 新 的 数 据 库 技 术 它 用 于为 包 含 O LE - D B 提 供 者 的 数 据 库 管 理 系 统 DB M S 第 1 章 V isu a l C + + 引 论 - 图524 提 供 高 性 能 的 数 据 访 问

数 据 绑 定 控 件 的 资 源 编 辑 器 改 进

第 1 章 V isu a l C + + 引 论 - 图525第 1 章 V isu a l C + + 引 论 - 图526第 1 章 V isu a l C + + 引 论 - 图527第 1 章 V isu a l C + + 引 论 - 图528第 1 章 V isu a l C + + 引 论 - 图529第 1 章 V isu a l C + + 引 论 - 图530第 1 章 V isu a l C + + 引 论 - 图531第 1 章 V isu a l C + + 引 论 - 图532第 1 章 V isu a l C + + 引 论 - 图533第 1 章 V isu a l C + + 引 论 - 图534资 源 编 辑 器 R e s ourc e E d ito r 第 1 章 V isu a l C + + 引 论 - 图535 让 你 可 以 使 用 所 有 最 新 的 ADO 和 O LE - D B 技 术 来 创 建 与 数 据 库 的 连 接 你 需 要 使 用 新 型 的 ADODC 数 据 源 控 件 来 创 建 连接 另 外 还 需 要 使 用 新 型 与 ADO 兼 容 的 数 据 绑 定 控 件 显 示 数 据 这 条 规则 的 唯 一 例 外 情 况 是 简 单 的 绑 定 控 件 我 们 可 以 使 用 这 类 控 件 在 ADODC 和M S R D C M ic ros oft R e m o te D a ta C o n tro l 微 软 远 程 数 据 控 件 第 1 章 V isu a l C + + 引 论 - 图536 数 据 源 控 件 之 间内 部 交 换 数 据

对 DocObject 包 容 特 性 的 向 导 支 持

第 1 章 V isu a l C + + 引 论 - 图537第 1 章 V isu a l C + + 引 论 - 图538第 1 章 V isu a l C + + 引 论 - 图539M F C 应 用 向 导 A p p W izard 第 1 章 V isu a l C + + 引 论 - 图540 在 第 三 步 中 包 含 了 一 个 新 的 选 项 该 选 项 只在 选 中 了 C on ta ine r 或 B o th C o n ta ine r a nd S e rv e r 复 合 文 档 特 性 选 项 后 才 有 效

第 1 章 V isu a l C + + 引 论 - 图541第 1 章 V isu a l C + + 引 论 - 图542第 1 章 V isu a l C + + 引 论 - 图543第 1 章 V isu a l C + + 引 论 - 图544第 1 章 V isu a l C + + 引 论 - 图545第 1 章 V isu a l C + + 引 论 - 图546第 1 章 V isu a l C + + 引 论 - 图547第 1 章 V isu a l C + + 引 论 - 图548第 1 章 V isu a l C + + 引 论 - 图549第 1 章 V isu a l C + + 引 论 - 图550第 1 章 V isu a l C + + 引 论 - 图551利 用 D o cO b ject 包 容 特 性 同 时 打 开 A c tiv e D o c u m e n t C on ta ine r 选 项 第 1 章 V isu a l C + + 引 论 - 图552 你可 以 把 应 用 程 序 支 持 的 所 有 类 型 的 文 档 包 含 在 一 个 框 架 中 而 不 需 要 对 每 类 文档 分 别 创 建 不 同 类 型 的 框 架 如 果 想 准 确 地 感 受 一 下 这 种 技 术 到 底 如 何 工 作 那 么 就 请 看 一 看 M ic ros oft O f f ic e B inde r 吧 正 常 情 况 下 OL E 允 许 用 户 与 复 合文 档 中 的 一 个 对 象 进 行 交 互 而 D o cO b ject 包 容 技 术 让 用 户 能 够 在 一 个 框 架 中激 活 整 个 文 档 包 括 菜 单 工 具 条 以 及 其 它 所 支 持 的 特 性

WizardBar 性 能 增 强

第 1 章 V isu a l C + + 引 论 - 图553第 1 章 V isu a l C + + 引 论 - 图554第 1 章 V isu a l C + + 引 论 - 图555第 1 章 V isu a l C + + 引 论 - 图556第 1 章 V isu a l C + + 引 论 - 图557当 资 源 编 辑 器 中 的 W iz a rd B a r 可 见 时 带 大 量 对 话 框 和 控 件 的 其 CL W 文件 很 大 第 1 章 V isu a l C + + 引 论 - 图558 工 程 通 常 慢 如 蜗 牛 M ic ros oft 已 经 采 取 措 施 改 进 了 这 项 特 性 的 性 能从 而 减 少 了 W iz a rd B a r 对 ID E 性 能 的 冲 击

1 .3 一 些 缺 陷

第 1 章 V isu a l C + + 引 论 - 图559第 1 章 V isu a l C + + 引 论 - 图560第 1 章 V isu a l C + + 引 论 - 图561第 1 章 V isu a l C + + 引 论 - 图562第 1 章 V isu a l C + + 引 论 - 图563正 如 当 今 市 场 上 所 有 其 它 产 品 一 样 V is u a l C + + 也 存 在 一 些 并 不 能 像 所 期 待的 那 样 第 1 章 V isu a l C + + 引 论 - 图564 至 少 像 你 自 己 所 期 待 的 那 样 第 1 章 V isu a l C + + 引 论 - 图565 完 成 工 作 的 缺 陷 我 发 现 的 这 些 缺 陷 第 1 章 V isu a l C + + 引 论 - 图566 某些 人 将 它 们 称 做 臭 虫 或 遗 憾 的 变 化 第 1 章 V isu a l C + + 引 论 - 图567 中 没 有 哪 个 缺 陷 十 分 恐 怖 以 至 于 阻

第 1 章 V isu a l C + + 引 论 - 图568第 1 章 V isu a l C + + 引 论 - 图569第 1 章 V isu a l C + + 引 论 - 图570第 1 章 V isu a l C + + 引 论 - 图571第 1 章 V isu a l C + + 引 论 - 图572第 1 章 V isu a l C + + 引 论 - 图573第 1 章 V isu a l C + + 引 论 - 图574第 1 章 V isu a l C + + 引 论 - 图575第 1 章 V isu a l C + + 引 论 - 图576止 了 你 的 工 作 但 它 们 依 然 令 人 讨 厌 M ic ros oft 或 许 正 要 发 行 V is u a l C ++ 6 . 0 的 一 个 或 多 个 补 丁 程 序 因 此 我 希 望 这 里 谈 论 的 一 些 缺 陷 在 你 读 到 本 文 时 就已 经 修 正 过 了 即 使 M ic ros oft 不 能 提 供 解 决 问 题 的 替 代 方 案 你 至 少 也 应 该 清醒 地 意 识 到 必 须 修 改 某 些 代 码 以 适 应 新 的 特 性

注 释 本 节 并 不 是 要 罗 列 Visual C++ 所 有 缺 陷 的 各 个 方 面 而 是 指 出 一些 明 显 的 问 题 以 及 避 开 这 些 问 题 的 方 法 但 愿 Microsoft 也 会 修 正 一些 深 层 次 不 明 显 隐 藏 的 缺 陷 — — 即 使 这 些 缺 陷 在 这 里 我 并 没 有 提到

第 1 章 V isu a l C + + 引 论 - 图577第 1 章 V isu a l C + + 引 论 - 图578第 1 章 V isu a l C + + 引 论 - 图579第 1 章 V isu a l C + + 引 论 - 图580第 1 章 V isu a l C + + 引 论 - 图581第 1 章 V isu a l C + + 引 论 - 图582第 1 章 V isu a l C + + 引 论 - 图583第 1 章 V isu a l C + + 引 论 - 图584第 1 章 V isu a l C + + 引 论 - 图585第 1 章 V isu a l C + + 引 论 - 图586你 首 先 会 注 意 到 的 一 件 事 是 In fo V ie w e r 已 经 被 一 个 非 集 成 基 于 M S D N M ic ros oft D e ve lope r N e tw ork 第 1 章 V isu a l C + + 引 论 - 图587 的 帮 助 所 取 代 虽 然 我 们 依 然 可 以 加 亮 某 个 命 令 后 得 到 相 应 的 帮 助 但 M S D N 的 非 集 成 特 性 也 就 意 味 着 由 外 部 程 序 提 供 该 帮助 这 也 说 明 了 现 在 需 要 更 多 的 内 存 来 获 取 帮 助 信 息 另 外 M S D N 的 查 找 能

第 1 章 V isu a l C + + 引 论 - 图588第 1 章 V isu a l C + + 引 论 - 图589第 1 章 V isu a l C + + 引 论 - 图590第 1 章 V isu a l C + + 引 论 - 图591第 1 章 V isu a l C + + 引 论 - 图592第 1 章 V isu a l C + + 引 论 - 图593力 与 已 经 熟 悉 的 In fo V ie w e r 相 比 简 直 不 可 同 日 而 语 M S D N 缺 少 许 多 In fo V iew er 提 供 的 选 项 并 且 基 于 M S D N 的 帮 助 还 存 在 其 它 许 多 问 题 其 中 最 主 要 的 问 题是 它 要 求 必 须 有 良 好 的 In te rn e t 连 接 总 而 言 之 你 会 发 现 V is u a l C + + 6 . 0 中 的帮 助 是 一 大 倒 退 — — 这 是 M ic ros oft 产 品 升 级 中 最 失 败 的 决 策 之 一

第 1 章 V isu a l C + + 引 论 - 图594第 1 章 V isu a l C + + 引 论 - 图595第 1 章 V isu a l C + + 引 论 - 图596第 1 章 V isu a l C + + 引 论 - 图597第 1 章 V isu a l C + + 引 论 - 图598第 1 章 V isu a l C + + 引 论 - 图599第 1 章 V isu a l C + + 引 论 - 图600第 1 章 V isu a l C + + 引 论 - 图601第 1 章 V isu a l C + + 引 论 - 图602另 一 个 问 题 是 并 非 所 有 复 制 到 B in 文 件 夹 中 的 程 序 都 会 作 为 M ic ros oft V is u a l C+ + 6 . 0 文 件 夹 中 的 快 捷 方 式 显 示 在 S ta r t 开 始 第 1 章 V isu a l C + + 引 论 - 图603 菜 单 中 例 如 在 那 个 文 件夹 中 存 放 有 H e lp W o rk s hop 快 捷 方 式 但 却 没 有 H o ts pot E d itor 快 捷 方 式 本 书中 我 们 将 多 次 使 用 这 些 实 用 程 序 因 此 你 至 少 应 该 知 道 这 些 程 序 放 置 在 什 么地 方 之 后 你 就 可 以 把 它 们 添 加 到 W ind ow s 95 W ind ow s 98 或 W ind ow s N T 的

第 1 章 V isu a l C + + 引 论 - 图604第 1 章 V isu a l C + + 引 论 - 图605第 1 章 V isu a l C + + 引 论 - 图606第 1 章 V isu a l C + + 引 论 - 图607第 1 章 V isu a l C + + 引 论 - 图608第 1 章 V isu a l C + + 引 论 - 图609S ta r t 开 始 第 1 章 V isu a l C + + 引 论 - 图610 菜 单 中 了 再 说 一 句 虽 然 S ta r t 开 始 第 1 章 V isu a l C + + 引 论 - 图611 菜 单 缺 少 某 些 快 捷 方 式并 不 是 什 么 了 不 得 的 问 题 但 我 们 依 然 奇 怪 为 什 么 M ic ros oft 不 把 这 些 事 说 在 明处

第 1 章 V isu a l C + + 引 论 - 图612第 1 章 V isu a l C + + 引 论 - 图613第 1 章 V isu a l C + + 引 论 - 图614第 1 章 V isu a l C + + 引 论 - 图615第 1 章 V isu a l C + + 引 论 - 图616第 1 章 V isu a l C + + 引 论 - 图617第 1 章 V isu a l C + + 引 论 - 图618第 1 章 V isu a l C + + 引 论 - 图619第 1 章 V isu a l C + + 引 论 - 图620第 1 章 V isu a l C + + 引 论 - 图621也 许 部 分 原 因 是 由 于 2000 年 日 期 问 题 现 在 我 们 不 能 再 使 用 CO le D a te T im e 得 到 两 位 数 字 的 日 期 了 虽 然 该 类 可 以 接 收 两 位 数 字 的 日 期 但 随 后 对 像 G e t- M on th 或 G e tM in u te 这 样 的 成 员 函 数 的 调 用 将 导 致 失 败 这 样 对 作 为 程 序 员的 你 就 不 得 不 重 新 修 改 包 括 这 些 成 员 函 数 的 老 程 序 了 否 则 的 话 尽 管 编 写了 正 确 无 误 的 程 序 你 依 然 会 遇 到 神 秘 的 错 误 终 止 了 程 序 的 现 象

第 1 章 V isu a l C + + 引 论 - 图622第 1 章 V isu a l C + + 引 论 - 图623第 1 章 V isu a l C + + 引 论 - 图624第 1 章 V isu a l C + + 引 论 - 图625第 1 章 V isu a l C + + 引 论 - 图626第 1 章 V isu a l C + + 引 论 - 图627第 1 章 V isu a l C + + 引 论 - 图628第 1 章 V isu a l C + + 引 论 - 图629第 1 章 V isu a l C + + 引 论 - 图630第 1 章 V isu a l C + + 引 论 - 图631第 1 章 V isu a l C + + 引 论 - 图632第 1 章 V isu a l C + + 引 论 - 图633第 1 章 V isu a l C + + 引 论 - 图634虽 然 界 面 本 身 并 不 存 在 自 身 的 缺 陷 但 界 面 依 然 让 使 用 多 国 语 言 的 人 们 感到 担 心 M ic ros oft 正 致 力 于 将 其 所 有 语 言 工 具 产 品 的 界 面 进 行 统 一 也 就 是 说除 语 言 细 节 之 外 都 是 一 致 的 这 样 开 发 人 员 几 乎 不 需 要 新 的 培 训 就 能 从 一 种 环境 迁 移 到 另 一 种 环 境 但 V is u a l C + + 却 是 例 外 它 到 现 在 还 依 然 保 持 着 一 付 老面 孔 虽 然 对 这 样 的 界 面 你 不 需 要 重 新 学 习 但 对 使 用 微 软 其 它 产 品 的 开 发 者来 说 他 们 在 使 用 V is u a l C + + 之 前 还 必 须 首 先 熟 悉 该 工 具 的 集 成 开 发 环 境 ID E 第 1 章 V isu a l C + + 引 论 - 图635 幸 运 的 是 微 软 计 划 在 不 久 的 将 来 改 变 这 种 状 况 至 少 该 公 司 中 与

第 1 章 V isu a l C + + 引 论 - 图636我 交 流 过 的 人 们 是 这 样 说 的 第 1 章 V isu a l C + + 引 论 - 图637

1 .4 考 察 界 面 元 素

第 1 章 V isu a l C + + 引 论 - 图638第 1 章 V isu a l C + + 引 论 - 图639第 1 章 V isu a l C + + 引 论 - 图640第 1 章 V isu a l C + + 引 论 - 图641第 1 章 V isu a l C + + 引 论 - 图642在 我 们 大 量 编 程 之 前 我 要 花 点 时 间 讲 述 一 下 D e ve lope r S tud io 的 界 面 这样 大 家 就 统 一 口 径 了 你 还 将 学 习 一 些 以 前 未 曾 用 到 过 的 新 特 性 例 如 我 们

第 1 章 V isu a l C + + 引 论 - 图643第 1 章 V isu a l C + + 引 论 - 图644第 1 章 V isu a l C + + 引 论 - 图645第 1 章 V isu a l C + + 引 论 - 图646要 考 察 一 下 工 具 条 并 介 绍 其 中 的 某 些 新 特 性 如 果 你 已 经 是 一 位 经 验 丰 富 的V is u a l C ++ 程 序 员 并 且 自 认 为 没 有 什 么 界 面 元 素 对 你 来 说 还 是 新 东 西 那 就随 意 跳 过 这 一 节 吧

MFC Studio 窗 口 元 素

第 1 章 V isu a l C + + 引 论 - 图647第 1 章 V isu a l C + + 引 论 - 图648第 1 章 V isu a l C + + 引 论 - 图649第 1 章 V isu a l C + + 引 论 - 图650第 1 章 V isu a l C + + 引 论 - 图651第 1 章 V isu a l C + + 引 论 - 图652第 1 章 V isu a l C + + 引 论 - 图653第 1 章 V isu a l C + + 引 论 - 图654第 1 章 V isu a l C + + 引 论 - 图655第 1 章 V isu a l C + + 引 论 - 图656当 使 用 V is u a l C + + 编 辑 程 序 时 你 可 以 把 V is u a l C + + 的 显 示 界 面 划 分 成 三块 功 能 区 工 具 条 视 图 以 及 编 辑 窗 口 每 个 功 能 区 都 可 以 独 立 于 其 它 功 能 区来 操 作 因 此 可 以 在 各 功 能 区 之 间 自 由 地 切 换 图 1 .1 显 示 了 典 型 编 辑 器 的显 示 情 况 以 及 这 三 个 功 能 区 的 位 置

注 释 本 节 中 介 绍 各 种 窗 口 视 图 以 及 工 具 条 随 后 的 各 节 中 介 绍 它 们 的详 细 信 息

第 1 章 V isu a l C + + 引 论 - 图657第 1 章 V isu a l C + + 引 论 - 图658第 1 章 V isu a l C + + 引 论 - 图659经 常 用 到 的 窗 口 有 两 种 类 型 文 本 窗 口 和 资 源 窗 口

第 1 章 V isu a l C + + 引 论 - 图660第 1 章 V isu a l C + + 引 论 - 图661第 1 章 V isu a l C + + 引 论 - 图662第 1 章 V isu a l C + + 引 论 - 图663图 1 .1 显 示 了 一 个 典 型 的 文 本 窗 口 无 论 什 么 时 候 当 你 要 修 改 代 码 或 编 辑文 本 文 件 时 看 到 的 就 是 这 类 窗 口

第 1 章 V isu a l C + + 引 论 - 图664第 1 章 V isu a l C + + 引 论 - 图665第 1 章 V isu a l C + + 引 论 - 图666第 1 章 V isu a l C + + 引 论 - 图667第 1 章 V isu a l C + + 引 论 - 图668第 1 章 V isu a l C + + 引 论 - 图669V is u a l C + + 通 过 各 种 手 段 来 简 化 编 码 工 作 文 本 窗 口 中 首 先 注 意 到 的 东 西是 代 码 的 颜 色 例 如 关 键 字 的 缺 省 颜 色 为 蓝 色 而 注 释 的 颜 色 为 绿 色 这 种方 式 的 彩 色 代 码 让 你 能 够 轻 易 地 分 辨 出 代 码 的 性 质

第 1 章 V isu a l C + + 引 论 - 图670

图 1 .1 D e v e lo pe r S tud io 的屏 幕可 以划 分成三 个功 能区

第 1 章 V isu a l C + + 引 论 - 图671第 1 章 V isu a l C + + 引 论 - 图672第 1 章 V isu a l C + + 引 论 - 图673第 1 章 V isu a l C + + 引 论 - 图674本 窗 口 的 左 边 缘 是 一 竖 条 这 是 V is u a l C ++ 放 置 各 种 符 号 的 地 方 你 甚 至会 看 到 它 通 过 颜 色 来 区 分 数 据 和 代 码 控 制 区 例 如 当 我 们 在 代 码 中 设 置 了 断

第 1 章 V isu a l C + + 引 论 - 图675第 1 章 V isu a l C + + 引 论 - 图676第 1 章 V isu a l C + + 引 论 - 图677第 1 章 V isu a l C + + 引 论 - 图678第 1 章 V isu a l C + + 引 论 - 图679第 1 章 V isu a l C + + 引 论 - 图680点 后 V is u a l C ++ 就在 这个 竖条 上显 示断 点符 号 当该 断点 可用 时 断点 符号 为红色 否则 断点符号为白色

第 1 章 V isu a l C + + 引 论 - 图681第 1 章 V isu a l C + + 引 论 - 图682第 1 章 V isu a l C + + 引 论 - 图683第 1 章 V isu a l C + + 引 论 - 图684第 1 章 V isu a l C + + 引 论 - 图685文 本 框 的 各 个 区 域 中 都 可 以 通 过 右 击 来 显 示 一 个 上 下 文 相 关 菜 单 上 下 文菜 单 中 包 含 了 可 以 进 行 基 本 操 作 的 各 种 选 项 与 D e ve lope r S tud io 界 面 的 其 它 地方 不 同 这 些 菜 单 不 能 直 接 进 行 修 改 下 图 是 右 击 文 本 编 辑 器 时 可 能 出 现 的 上下 文 菜 单 的 一 个 示 例

第 1 章 V isu a l C + + 引 论 - 图686第 1 章 V isu a l C + + 引 论 - 图687第 1 章 V isu a l C + + 引 论 - 图688第 1 章 V isu a l C + + 引 论 - 图689第 1 章 V isu a l C + + 引 论 - 图690第 1 章 V isu a l C + + 引 论 - 图691第 1 章 V isu a l C + + 引 论 - 图692第 1 章 V isu a l C + + 引 论 - 图693第 1 章 V isu a l C + + 引 论 - 图694第 1 章 V isu a l C + + 引 论 - 图695第 1 章 V isu a l C + + 引 论 - 图696第 1 章 V isu a l C + + 引 论 - 图697第 1 章 V isu a l C + + 引 论 - 图698第 1 章 V isu a l C + + 引 论 - 图699第 1 章 V isu a l C + + 引 论 - 图700第 1 章 V isu a l C + + 引 论 - 图701第 1 章 V isu a l C + + 引 论 - 图702第 1 章 V isu a l C + + 引 论 - 图703第 1 章 V isu a l C + + 引 论 - 图704第 1 章 V isu a l C + + 引 论 - 图705第 1 章 V isu a l C + + 引 论 - 图706第 1 章 V isu a l C + + 引 论 - 图707请 注 意 你 可 以 像 使 用 任 何 编 辑 器 那 样 剪 切 复 制 或 粘 贴 文 本 由 于 我 已经 加 亮 了 # inc lude 文 件 项 因 此 上 下 文 菜 单 提 供 了 一 个 打 开 该 文 件 的 机 会 如果 当 前 工 程 中 还 没 有 包 含 该 文 件 那 么 使 用 In s e r t F ile in to P ro je c t 菜 单 项 就 可 以把 该 文 件 包 含 到 工 程 中 Ch e c k O u t 菜 单 项 用 于 管 理 小 组 型 工 程 通 过 它 可 以 获取 对 文 件 的 控 制 以 便 编 辑 文 件 接 下 来 的 三 个 菜 单 项 可 以 查 找 当 前 项 更 详 细的 信 息 例 如 使 用 P a ra m e te r H e lp 菜 单 项 可 以 得 到 函 数 调 用 的 参 数 信 息 A u to C o m p le te 协 助 你 完 成 函 数 调 用 的 键 入 后 面 的 两 个 菜 单 项 用 于 浏 览 工 程 你 可以 找 到 某 个 特 定 项 目 在 哪 里 引 用 在 哪 里 定 义 由 于 这 些 项 目 依 赖 于 建 立 工 程时 创 建 的 BS C 文 件 因 此 在 使 用 这 些 项 目 前 要 确 保 最 近 有 效 地 重 建 过 工 程后 面 的 两 个 菜 单 项 In s e r t/ R e m o v e B reak p o in t 和 E n ab le B reak p o in t 用 于 调 试

第 1 章 V isu a l C + + 引 论 - 图708第 1 章 V isu a l C + + 引 论 - 图709第 1 章 V isu a l C + + 引 论 - 图710第 1 章 V isu a l C + + 引 论 - 图711应 用 程 序 最 后 你可以 打开 C lass W izard 来操作所选 对象 本书将多 次使用这种方法 第 1 章 V isu a l C + + 引 论 - 图712 或查 看文档的属性

第 1 章 V isu a l C + + 引 论 - 图713

第 1 章 V isu a l C + + 引 论 - 图714第 1 章 V isu a l C + + 引 论 - 图715第 1 章 V isu a l C + + 引 论 - 图716第 1 章 V isu a l C + + 引 论 - 图717我 最 后 要 介 绍 的 窗 口 示 例 是 你 在 编 辑 资 源 时 看 到 的 那 种 窗 口 虽 然 资 源 编辑 窗 口 比 我 们 曾 经 谈 过 的 其 它 窗 口 有 更 多 的 变 化 形 式 第 1 章 V isu a l C + + 引 论 - 图718 无 须 着 急 在 本 书 的 适当 部 分 将 介 绍 每 一 种 资 源 编 辑 窗 口 第 1 章 V isu a l C + + 引 论 - 图719 但 图 1 .2 是 个 典 型 的 这 种 窗 口

第 1 章 V isu a l C + + 引 论 - 图720

第 1 章 V isu a l C + + 引 论 - 图721第 1 章 V isu a l C + + 引 论 - 图722图 1 .2 资源 编辑 窗口 有许多 不同 的类 型 这个 资源编 辑窗 口显 示了一 个对 话框

第 1 章 V isu a l C + + 引 论 - 图723第 1 章 V isu a l C + + 引 论 - 图724第 1 章 V isu a l C + + 引 论 - 图725第 1 章 V isu a l C + + 引 论 - 图726第 1 章 V isu a l C + + 引 论 - 图727在 上 图 的 情 况 下 我 们 在 查 看 对 话 框 这 个 对 话 框 中 有 四 个 控 件 其 中 两个 控 件 被 选 中 第 1 章 V isu a l C + + 引 论 - 图728 两 个 选 中 控 件 的 周 围 被 改 变 大 小 的 句 柄 所 环 绕 第 1 章 V isu a l C + + 引 论 - 图729 在 对 话 框 边沿 你 还 会 看 到 一 条 暗 淡 的 线 条 第 1 章 V isu a l C + + 引 论 - 图730 缺 省 配 置 下 线 条 的 颜 色 为 蓝 色 第 1 章 V isu a l C + + 引 论 - 图731 这 一 线 条 确

第 1 章 V isu a l C + + 引 论 - 图732定 了 对 话 框 上 放 置 控 件 的 外 边 缘

第 1 章 V isu a l C + + 引 论 - 图733第 1 章 V isu a l C + + 引 论 - 图734第 1 章 V isu a l C + + 引 论 - 图735第 1 章 V isu a l C + + 引 论 - 图736第 1 章 V isu a l C + + 引 论 - 图737在 图 1 .2 的 左 下 角 你 会 看 到 一 个 控 件 工 具 箱 它 包 含 了 可 以 放 置 到 对 话 框

中 的 各 种 控 件 如 果 想 在 工 具 箱 中 添 加 新 的 控 件 那 么 请 使 用 P ro je c t

|

A dd to

P ro je c t |C o m pon e n ts a nd C on tro ls 命 令 工 具 箱 的 右 边 是 对 话 框 工 具 条

第 1 章 V isu a l C + + 引 论 - 图738

它 提 供

了 简 化 对 话 框 布 局 排 列 的 有 用 工 具

例 如

M a k e Sa m e S iz e 按 钮 将 选 中 的 任 意

个 数 的 控 件 与 第 一 个 选 中 控 件 等 大

Te s t

按 钮 让 你 在 对 话 框 完 成 之 前 就 可 以 看

— 看 它 的 外 观

第 1 章 V isu a l C + + 引 论 - 图739第 1 章 V isu a l C + + 引 论 - 图740第 1 章 V isu a l C + + 引 论 - 图741第 1 章 V isu a l C + + 引 论 - 图742第 1 章 V isu a l C + + 引 论 - 图743第 1 章 V isu a l C + + 引 论 - 图744第 1 章 V isu a l C + + 引 论 - 图745第 1 章 V isu a l C + + 引 论 - 图746第 1 章 V isu a l C + + 引 论 - 图747第 1 章 V isu a l C + + 引 论 - 图748第 1 章 V isu a l C + + 引 论 - 图749第 1 章 V isu a l C + + 引 论 - 图750第 1 章 V isu a l C + + 引 论 - 图751第 1 章 V isu a l C + + 引 论 - 图752现 在 让 我 们 讨 论 一 下 图 1 .2 中 显 示 的 上 下 文 菜 单 由 于 前 面 我 们 已 经 讨 论 过这 些 菜 单 项 的 主 要 用 途 因 此 这 里 只 研 究 三 个 最 重 要 的 菜 单 项 使 用 In s e rt A c - tiv e X C o n tro l 菜 单 项 可 以 把 A c tiv e X 控 件 添 加 到 当 前 对 话 框 中 而 无 须 将 它 实 际添 加 到 工 程 中 这 样 你 就 可 以 在 生 成 一 大 堆 代 码 之 前 先 看 到 该 控 件 的 工 作 效果 不 过 如 果 你 决 定 确 实 要 使 用 该 控 件 时 请 记 住 以 后 把 该 控 件 添 加 到 工 程中 C h e c k M n e m on ic s 菜 单 项 告 诉 V is u a l C + + 检 查 一 下 已 经 添 加 的 所 有 控 件

第 1 章 V isu a l C + + 引 论 - 图753第 1 章 V isu a l C + + 引 论 - 图754第 1 章 V isu a l C + + 引 论 - 图755第 1 章 V isu a l C + + 引 论 - 图756第 1 章 V isu a l C + + 引 论 - 图757第 1 章 V isu a l C + + 引 论 - 图758第 1 章 V isu a l C + + 引 论 - 图759第 1 章 V isu a l C + + 引 论 - 图760看 是 否 存 在 同 名 错 误 或 任 何 违 反 规 则 的 情 况 当 做 完 了 一 个 对 话 框 后 这 个 检查 相 当 重 要 最 后 Ev e n t 菜 单 项 显 示 一 个 对 话 框 告 诉 我 们 所 选 对 象 都 支 持 哪些 事 件 这 个 对 话 框 还 让 你 能 够 创 建 你 想 监 控 的 任 何 事 件 的 句 柄 第 2 章 中 我们 将 讲 述 使 用 这 一 特 性 的 方 法

类 视 图 第 1 章 V isu a l C + + 引 论 - 图761 ClassView 第 1 章 V isu a l C + + 引 论 - 图762

第 1 章 V isu a l C + + 引 论 - 图763第 1 章 V isu a l C + + 引 论 - 图764第 1 章 V isu a l C + + 引 论 - 图765第 1 章 V isu a l C + + 引 论 - 图766第 1 章 V isu a l C + + 引 论 - 图767第 1 章 V isu a l C + + 引 论 - 图768第 1 章 V isu a l C + + 引 论 - 图769或 许 类 视 图 C la ssV ie w 第 1 章 V isu a l C + + 引 论 - 图770 将 花 去 你 大 部 分 的 时 间 该 视 图 提 供 了 工 程 中 所

有 类 的 层 次 列 表

通 过 扩 展 可 以 显 示 类 中 包 含 的 细 节

例 如

中 将 包

含 要

辑 的 成 员 函 数 等

图 1 .3 显 示 了 一 个 典 型 的 类 视 图

第 1 章 V isu a l C + + 引 论 - 图771

图 1 .3 在 C la ssV ie w 中显 示项 目中 所有的 类

第 1 章 V isu a l C + + 引 论 - 图772第 1 章 V isu a l C + + 引 论 - 图773第 1 章 V isu a l C + + 引 论 - 图774第 1 章 V isu a l C + + 引 论 - 图775第 1 章 V isu a l C + + 引 论 - 图776第 1 章 V isu a l C + + 引 论 - 图777第 1 章 V isu a l C + + 引 论 - 图778第 1 章 V isu a l C + + 引 论 - 图779第 1 章 V isu a l C + + 引 论 - 图780第 1 章 V isu a l C + + 引 论 - 图781请 注 意 在 层 次 列 表 的 每 个 项 目 前 面 都 有 一 个 特 殊 的 图 标 例 如 每 个 类的 前 面 都 有 一 个 由 线 条 连 接 起 来 的 三 个 方 框 形 图 标 类 视 图 中 显 示 三 种 成 员 函数 第 一 种 是 公 共 成 员 函 数 它 的 图 标 为 一 个 紫 色 菱 形 框 第 二 种 是 私 有 成 员函 数 它 的 图 标 上 也 有 个 菱 形 框 不 过 菱 形 框 的 旁 边 还 有 一 把 钥 匙 第 三 种 是

第 1 章 V isu a l C + + 引 论 - 图782第 1 章 V isu a l C + + 引 论 - 图783第 1 章 V isu a l C + + 引 论 - 图784第 1 章 V isu a l C + + 引 论 - 图785第 1 章 V isu a l C + + 引 论 - 图786第 1 章 V isu a l C + + 引 论 - 图787第 1 章 V isu a l C + + 引 论 - 图788第 1 章 V isu a l C + + 引 论 - 图789第 1 章 V isu a l C + + 引 论 - 图790第 1 章 V isu a l C + + 引 论 - 图791第 1 章 V isu a l C + + 引 论 - 图792第 1 章 V isu a l C + + 引 论 - 图793保 护 成 员 函 数 它 的 图 标 上 有 个 菱 形 框 和 一 个 小 锁 与 此 相 似 变 量 也 有 三 种类 型 它 们 都 使 用 青 绿 色 图 标 当 看 到 一 个 绿 色 框 时 你 就 知 道 是 看 到 了 某 个CO M 对 象 的 方 法 类 视 图 中 还 使 用 了 其 它 几 种 类 型 的 图 标 但 上 面 所 述 的 六 种图 标 是 创 建 绝 大 多 数 工 程 时 都 需 要 知 道 的 图 标

技 巧 在 ClassView 窗 口 中 右 击 然 后 从 上 下 文 菜 单 中 选 择 Hide 可 以 隐藏 ClassView 窗 口 第 1 章 V isu a l C + + 引 论 - 图794 或 任 何 其 它 视 图 只 要 在 这 些 视 图 中 按 这 一 步 骤操 作 第 1 章 V isu a l C + + 引 论 - 图795 使 用 View|Works pace 命 令 可 以 重 新 显 示 ClassView 窗 口

第 1 章 V isu a l C + + 引 论 - 图796第 1 章 V isu a l C + + 引 论 - 图797资 源 视 图 第 1 章 V isu a l C + + 引 论 - 图798 ResourceVi ew 第 1 章 V isu a l C + + 引 论 - 图799

第 1 章 V isu a l C + + 引 论 - 图800第 1 章 V isu a l C + + 引 论 - 图801第 1 章 V isu a l C + + 引 论 - 图802第 1 章 V isu a l C + + 引 论 - 图803第 1 章 V isu a l C + + 引 论 - 图804资 源 视 图 R e s o u rce V iew 第 1 章 V isu a l C + + 引 论 - 图805 在 层 次 列 表 中 列 出 了 工 程 中 用 到 的 所 有 资 源任 何 图 像 字 符 串 值 以 及 程 序 所 需 要 的 其 它 非 编 程 部 件 都 可 以 作 为 资 源 使 用图 1 .4 显 示 了 一 个 典 型 的 资 源 视 图 窗 口

第 1 章 V isu a l C + + 引 论 - 图806

图 1 .4 资源 视图 提供 了应用 程序 所需 资源的 完整 列表

第 1 章 V isu a l C + + 引 论 - 图807第 1 章 V isu a l C + + 引 论 - 图808第 1 章 V isu a l C + + 引 论 - 图809第 1 章 V isu a l C + + 引 论 - 图810第 1 章 V isu a l C + + 引 论 - 图811第 1 章 V isu a l C + + 引 论 - 图812第 1 章 V isu a l C + + 引 论 - 图813第 1 章 V isu a l C + + 引 论 - 图814V is u a l C + + 中 可 以 创 建 的 每 一 类 资 源 在 资 源 视 图 中 都 有 自 己 的 文 件 夹 如果 你 的 工 程 中 没 有 使 用 某 种 特 定 类 型 的 资 源 那 么 资 源 视 图 中 就 不 会 显 示 这 种资 源 的 文 件 夹 在 每 个 文 件 夹 中 包 含 了 工 程 中 所 用 的 该 类 资 源 例 如 对 话 框 D ia lo g 第 1 章 V isu a l C + + 引 论 - 图815 文 件 夹 中 包 含 了 工 程 中 所 有 的 对 话 框 包 括 A bout 对 话 框 每 类 资

第 1 章 V isu a l C + + 引 论 - 图816第 1 章 V isu a l C + + 引 论 - 图817第 1 章 V isu a l C + + 引 论 - 图818第 1 章 V isu a l C + + 引 论 - 图819源 也 都 使 用 自 己 的 图 标

技 巧 右 击 资 源 视 图 最 顶 端 的 文 件 夹 系 统 显 示 一 个 可 以 访 问 两 类 特 殊 对话 框 资 源 的 菜 单 Resource I ncludes 和 Resource S ymbols 右 击 特定 资 源 的 文 件 夹 系 统 会 显 示 添 加 该 类 新 资 源 的 上 下 文 菜 单

第 1 章 V isu a l C + + 引 论 - 图820第 1 章 V isu a l C + + 引 论 - 图821文 件 视 图 第 1 章 V isu a l C + + 引 论 - 图822 FileView 第 1 章 V isu a l C + + 引 论 - 图823

第 1 章 V isu a l C + + 引 论 - 图824第 1 章 V isu a l C + + 引 论 - 图825第 1 章 V isu a l C + + 引 论 - 图826第 1 章 V isu a l C + + 引 论 - 图827第 1 章 V isu a l C + + 引 论 - 图828第 1 章 V isu a l C + + 引 论 - 图829文 件 视 图 F ile V ie w 第 1 章 V isu a l C + + 引 论 - 图830 提 供 了 工 程 中 所 有 文 件 的 完 整 列 表 无 论 这 些 文件 是 否 包 含 代 码 图 1 .5 显 示 了 文 件 视 图 窗 口 的 一 个 典 型 示 例 请 注 意 列 表中 包 含 了 从 R ead M e .tx t 到 V is u a l C ++ 自 动 生 成 的 各 种 文 件

第 1 章 V isu a l C + + 引 论 - 图831

第 1 章 V isu a l C + + 引 论 - 图832第 1 章 V isu a l C + + 引 论 - 图833图 1 .5 文件 视图 包含 了工程 中所 有文 件的完 整列 表即使 这些 文件 中不包 含任 何代 码或资 源

第 1 章 V isu a l C + + 引 论 - 图834第 1 章 V isu a l C + + 引 论 - 图835每 个 文 件 类 型 都 有 自 己 的 文 件 夹 例 如 所 有 的 源 代 码 文 件 都 显 示 在 S ourc e

第 1 章 V isu a l C + + 引 论 - 图836第 1 章 V isu a l C + + 引 论 - 图837第 1 章 V isu a l C + + 引 论 - 图838第 1 章 V isu a l C + + 引 论 - 图839第 1 章 V isu a l C + + 引 论 - 图840第 1 章 V isu a l C + + 引 论 - 图841第 1 章 V isu a l C + + 引 论 - 图842第 1 章 V isu a l C + + 引 论 - 图843第 1 章 V isu a l C + + 引 论 - 图844第 1 章 V isu a l C + + 引 论 - 图845第 1 章 V isu a l C + + 引 论 - 图846第 1 章 V isu a l C + + 引 论 - 图847F ile s 源 文 件 第 1 章 V isu a l C + + 引 论 - 图848 文 件 夹 中 我 们 不 仅 可 以 把 文 件 从 一 个 文 件 夹 移 动 到 另 一 个 文件 夹 中 也 可 以 创 建 保 存 特 定 类 型 文 件 第 1 章 V isu a l C + + 引 论 - 图849 根 据 其 扩 展 名 第 1 章 V isu a l C + + 引 论 - 图850 的 新 文 件 夹 我 通 常要 创 建 一 个 T e x t F ile 文 本 文 件 第 1 章 V isu a l C + + 引 论 - 图851 文 件 夹 来 保 存 所 有 扩 展 名 为 TX T 的 文 件 创建 新 文 件 夹 的 方 法 是 右 击 要 添 加 新 文 件 夹 的 文 件 夹 或 工 程 项 目 然 后 从 上 下文 菜 单 中 选 择 N e w F o ld e r 菜 单 项 此 后 系 统 将 显 示 如 下 图 所 示 的 N e w F o ld e r 对话 框 键 入 文 件 夹 的 名 称 以 及 相 应 的 文 件 扩 展 名 然 后 单 击 OK 按 钮 完 成 创 建过 程

第 1 章 V isu a l C + + 引 论 - 图852

工 具 条

第 1 章 V isu a l C + + 引 论 - 图853第 1 章 V isu a l C + + 引 论 - 图854第 1 章 V isu a l C + + 引 论 - 图855第 1 章 V isu a l C + + 引 论 - 图856第 1 章 V isu a l C + + 引 论 - 图857第 1 章 V isu a l C + + 引 论 - 图858工 具 条 T oo lb a r 第 1 章 V isu a l C + + 引 论 - 图859 是 我 们 讨 论 D e ve lope r S tud io 界 面 的 最 后 一 个 话 题 应 该说 明 的 是 V is u a l C + + 拥 有 比 你 启 动 V is u a l C + + 后 看 到 的 工 具 条 多 得 多 的 工 具条 在 工 具 条 上 的 任 何 位 置 右 击 你 都 会 看 到 如 下 图 所 示 的 上 下 文 菜 单

第 1 章 V isu a l C + + 引 论 - 图860

第 1 章 V isu a l C + + 引 论 - 图861第 1 章 V isu a l C + + 引 论 - 图862第 1 章 V isu a l C + + 引 论 - 图863第 1 章 V isu a l C + + 引 论 - 图864第 1 章 V isu a l C + + 引 论 - 图865第 1 章 V isu a l C + + 引 论 - 图866第 1 章 V isu a l C + + 引 论 - 图867第 1 章 V isu a l C + + 引 论 - 图868该 菜 单 中 列 出 了 V is u a l C ++ 提 供 的 所 有 标 准 工 具 条 带 选 中 符 号 的 菜 单 项对 应 的 工 具 条 当 前 显 示 在 工 具 条 区 域 中 如 果 想 把 某 个 菜 单 项 对 应 的 工 具 条 添加 到 工 具 条 区 域 只 需 要 单 击 该 菜 单 项 即 可 反 过 来 如 果 想 在 工 具 条 区 域 中去 掉 某 个 工 具 条 也 只 需 要 通 过 在 上 下 文 菜 单 中 单 击 对 应 的 菜 单 项 去 掉 其 选中 符 号 即 可

第 1 章 V isu a l C + + 引 论 - 图869

第 1 章 V isu a l C + + 引 论 - 图870第 1 章 V isu a l C + + 引 论 - 图871上 下 文 菜 单 中 还 有 一 个 Cu s to m iz e 菜 单 项 值 得 注 意 选 择 该 菜 单 项 后 你 会 看到 如 下 图 所 示 的 对 话 框

第 1 章 V isu a l C + + 引 论 - 图872第 1 章 V isu a l C + + 引 论 - 图873第 1 章 V isu a l C + + 引 论 - 图874第 1 章 V isu a l C + + 引 论 - 图875第 1 章 V isu a l C + + 引 论 - 图876第 1 章 V isu a l C + + 引 论 - 图877第 1 章 V isu a l C + + 引 论 - 图878第 1 章 V isu a l C + + 引 论 - 图879第 1 章 V isu a l C + + 引 论 - 图880第 1 章 V isu a l C + + 引 论 - 图881第 1 章 V isu a l C + + 引 论 - 图882第 1 章 V isu a l C + + 引 论 - 图883Cu s to m iz e 对 话 框 包 含 了 几 个 让 你 重 新 配 置 D e ve lope r S tud io 界 面 上 绝 大 多数 部 件 的 选 项 卡 然 而 这 里 我 们 最 感 兴 趣 的 是 C o m m a nds 选 项 卡 对 每 个 菜单 和 工 具 条 它 都 包 含 了 一 系 列 的 图 标 第 1 章 V isu a l C + + 引 论 - 图884 代 表 对 应 的 命 令 第 1 章 V isu a l C + + 引 论 - 图885 或 文 本 命 令 如 果 想给 现 存 工 具 条 上 增 加 一 个 命 令 只 需 要 抓 住 其 图 标 第 1 章 V isu a l C + + 引 论 - 图886 或 文 本 命 令 第 1 章 V isu a l C + + 引 论 - 图887 并 把 它 拖 曳到 工 具 条 上 这 样 所 选 命 令 就 显 示 在 工 具 条 上 你 可 以 更 快 速 地 访 问 它 们 了如 果 选 择 了 某 个 现 在 还 没 有 相 应 图 标 的 命 令 那 么 系 统 会 显 示 B u tto n A ppe a ra n c e 对 话 框 在 这 个 对 话 框 中 可 以 为 命 令 选 择 一 个 图 标

第 1 章 V isu a l C + + 引 论 - 图888第 1 章 V isu a l C + + 引 论 - 图889第 1 章 V isu a l C + + 引 论 - 图890第 1 章 V isu a l C + + 引 论 - 图891第 1 章 V isu a l C + + 引 论 - 图892第 1 章 V isu a l C + + 引 论 - 图893同 样 的 功 能 对 菜 单 项 也 一 样 起 作 用 你 需 要 做 的 工 作 就 是 打 开 要 修 改 的 下拉 菜 单 在 C o m m a nds 选 项 卡 中 抓 住 要 添 加 到 菜 单 中 的 命 令 然 后 将 其 拖 曳 到菜 单 项 中 希 望 的 位 置 在 这 种 情 况 下 你 看 到 的 总 是 命 令 的 文 本 版 本 而 不 是 图标

第 1 章 V isu a l C + + 引 论 - 图894第 1 章 V isu a l C + + 引 论 - 图895第 1 章 V isu a l C + + 引 论 - 图896第 1 章 V isu a l C + + 引 论 - 图897第 1 章 V isu a l C + + 引 论 - 图898第 1 章 V isu a l C + + 引 论 - 图899从 工 具 条 或 菜 单 中 删 除 不 需 要 命 令 的 方 法 也 很 简 单 简 单 地 抓 住 不 需 要 的命 令 并 把 它 拖 曳 到 Cu s to m iz e 对 话 框 中 该 命 令 将 在 菜 单 或 工 具 条 中 消 失当 然 你 随 时 都 可 以 重 新 把 它 添 加 到 菜 单 或 工 具 条 中

第 1 章 V isu a l C + + 引 论 - 图900第 1 章 V isu a l C + + 引 论 - 图901第 1 章 V isu a l C + + 引 论 - 图902第 1 章 V isu a l C + + 引 论 - 图903第 1 章 V isu a l C + + 引 论 - 图904第 1 章 V isu a l C + + 引 论 - 图905第 1 章 V isu a l C + + 引 论 - 图906你 也 可 以 根 据 需 要 移 动 工 具 条 的 位 置 单 击 工 具 条 左 边 缘 的 双 线 竖 杠 然后 把 工 具 条 拖 曳 到 所 需 位 置 与 此 相 似 如 果 你 不 喜 欢 某 个 菜 单 的 当 前 位 置 那 么 抓 住 它 在 Cu s to m iz e 对 话 框 打 开 的 情 况 下 第 1 章 V isu a l C + + 引 论 - 图907 并 把 它 移 动 到 所 需 位 置