- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
mfc多文档模板
mfc多文档模板
篇一:MFC中实现多文档
MFC中实现多文档.txt-//自私,让我们只看见自己却容不下别人。如果发短信给你喜欢的人,他不回,不要再发。看着你的相片,我就特冲动的想P成黑白挂墙上!有时,不是世界太虚伪,只是,我们太天真。MFC中实现多文档(转)2007-12-27 21:21
MDI (Multiple Document Interface) 是Windows 界 面 的 一 种 规 范, 它 建 立 多 个 窗 口 来 浏 览文 档 数 据, 如Windows 中 的Program Manager 等 都 是 按MDI 规 范 实 现 的。 在 实 际 工 程 软 件 开 发 中,许 多 程 序 员 将 其 作 为 一 种 实 现 多 窗 口 的 标 准 方 法。 微 软 基 础 类 库(Microsoft Foundation Class Library, 简 称MFC 库), 是 微 软 公 司 为 方 便Windows 程 序 开 发 所 提 供 的 一 个 功 能 强 大 的 通 用 类库。MFC 的 核 心 是 以 类 的 形 式 封 装 了 大 量Windows API。 在 可 视 化 编 程 语 言VC++ 下 应 用MFC 是 目前 开 发Windows 程 序 最 方 便 的 途 径 之 一。VC++ 提 供 的 各 种 开 发 工 具 如AppWizard、ClassWizard 和App Studio, 可 以 建 立 起 具 备 基 本 功 能 的Windows 框 架 程 序(Framework)。 而 程 序 员 所 需 要 做的 工 作 就 是 将 自 己 特 有 的 代 码 填 入 到 框 架 程 序 中 去, 从 而 极 大 地 减 少 了 用 户 界 面 编 程 的 工 作量, 加 快 了 开 发 速 度。 关 于MDI 的 标 准 开 发 方 法 可 参 考 一 般 的Windows 编 程 书 籍, 本 文 将 介 绍 利用MFC 实 现MDI 界 面。
MFC 2.0 以 上 版 本 支 持“ 文 档/ 浏 览 视 窗”(Document/View) 结 构 模 式。 由 文 档 负 责 管 理 数 据,浏 览 视 窗 负 责 数 据 显 示 及 与 用 户 的 交 互, 从 而 实 现 了 数 据 与 界 面 的 分 离, 使 整 个 程 序 设 计 更 具规 范 化、 模 块 化。MFC 中,“ 文 档” 由 类CDocument 及 其 派 生 类 实 现( 简 称Doc 类);“ 浏 览 视 窗” 由 类CView 及 其 派 生 类 实 现 ( 简 称View 类)。 二 者 都 包 含 于 应 用 程 序 的 框 架 窗 口 中, 并 由 其 管 理。 使 用 单 文档 时, 框 架 窗 口 由 类CFrameWnd 及 其 派 生 类 实 现; 使 用 多 文 档 时, 框 架 窗 口 是 利 用 类CMDIFrameWnd 和CMDIChildWnd 实 现。 由 文 档 模 板 将 文 档、 浏 览 窗 口 和 框 架 窗 口 三 者 联 系 起 来。
当 程 序 员 在App Wizard 的Option 选 项 中 选 择 Multiple Document Interface 时,MFC 构 架程 序(Framework) 将 自 动 生 成 实 现MDI 基 本 功 能 的 代 码。 类CMDIFrameWnd 负 责 整 个 应 用 程 序 的主 框 架 窗 口; 类CMDIChildWnd 实 现MDI 的 子 窗 口 框 架, 它 不 带 菜 单 项, 而 与 主 框 架 窗 口 共 享 菜 单。主 框 架 窗 口 依 据 当 前 激 活 的 子 窗 口 自 动 更 换 菜 单 项。CView 则 负 责MDI 子 窗 口 客 户 区 中 显 示 的具 体 内 容。 例 如,App Wizard 的 以M01 为Project 名 建 立 的 构 架 程 序(framework) 中 包 括 一 些 基本 类: 主 框 架 窗 口CMainFrame: 派 生 自CMDIFrameWnd; 文 档CM01Doc : 派 生 自CDocument; 浏 览 窗口CM01View: 派 生 自CView; 其 中CM01Doc、CM01View 和CMDIChildWnd 由 多 文 档 模 板CMultiDocTemplate 联 系 在 一 起。 在CM01App::InitInstance() 函 数 中 代 码 如 下:
BOOL CM01App::InitInstance()
{
......
CMu
文档评论(0)