WTL起步-玩转图形界面

所需积分/C币:50 2015-12-13 21:22:56 1006KB PDF

WTL起步-玩转图形界面 学习ATL使用的书籍。
起步玩转图形界面 序言 是年月随 的平台始发的。起初是项目组写的一个基于的,封装了相关 窗口的例程。自 开始,就已经有一些简单的相关窗口函数的封装类,例如 和到 。然而,当我们比较的界面相关部分的功能时,对界面编程的攴持简直就是一个玩笑。甚至 仍然没有对诸如,命令条,,打印,等流行功能的支持。最被人喜爱的的 也没被支持进来。没有对这些功能的支持,很难满足拥有压倒性数量的使用的编程人员的需求。就是 项日组认为风格的窗口编稈模型应该有的样子。表列出了与在界面编稈相关功能方面的比较。 特性 依赖库 支持 不支持构建之上 应用向导支持 支持 支持 类向导支持 支持 不支持(第三方插件 支持 微软的公开支持 支持 不支持微软内部的志愿者支持 支持文档 支持 不支持 支持视图 支持 支持 支持文档 支持 不支持 基本通用控件封装 支持 支持 高级通用控件封装(平損滚动条、「不支持 支持 地址控件、贞面控件等) 命令条支持(包含 不支持 提供对话条 支持 支持 支持 封装 支持 支持 辅助类 等 攴持 支持 属性页向导 支持 支持 支持 支持 支持 多线程支持 不支持 支持 支持 支持 支持 可停靠窗口条 支持 不支持 分隔窗口 支持 支持 支持 支持不是的扩展 打印打印预览 攴持 攴持 滚动视图 支持 支持 客户自画封装 不支持 支持 消息命令路由 支持 支持 通用对话框 攴持 攴持 视图 支持 支持 简单实例应用 不支持 不支持 更新 支持 支持 基于模板 不攴持 攴持 带工具条,状态条和菜单的不做任何「超过 带 凊事的应用静态链接吋大小 如果使用 带上具条,状态条和菜单的不做任何 起步玩转图形界面 情事的应用动态链接时大小 对运行时库的依赖 如果动态链接 如果使用需要 表 与的比较 当然,不可能也不愿意做所有都能做的事儿。支持绎典的,文档视图框架和 可停靠窗口,而没有。而且还缺乏微软的“官方”支持。然而,来自于前项目组成员,以 及活跃在开发社区的“非官方”支持,可以减轻您对支持方面的担心。为何开发社区喜欢 ?因为这四点: 是基丁模板技术的; 应用程序的最小编译代码小于; 没有任何多如的动态链接库依赖(如果您用 会链接 拥有样的灵活和小巧 此外,和的界面编程模型非常接近,还包括了从它移植过来的 在我们这本分两部分的书里,我将揭开神秘的面纱。在第一部分里,我们讨论框架窗 口的实现结构。我们将解释如何编写基于的,和多线程,以及浏览器样式的应用 程序。进而,我们讨论的辅助类,包括对的封装。最后,我们看一下的 和 本书附带的例程。 在本书的第二部分,我们讨论命令条的实现结构,以及对 通用控件的封装和一些 自定义的用户界面小部件。我们还将进一步讨论的 消息路由结构,包括消息分解,过 滤和空闲处理。我们的之旅没有结束,直到我们讨论完通用对话框,属性页属性表,打印支持, 以及滚动窗凵。所有的这一切我们计划放在第二部分。 在我们告诉你如何用开发程序之前,让我们先复习一下怎样用纯(即不包含)米开 发应用程序。 起步玩转图形界面 第一部分基础篇 第一章 的基础 提供了一套编写 用户界面的模板类。本来的目的是用来支持组件和 属性页框架的。这套模板类当然成为的基{。这套类提供了对所有基本的 窗口函数 的封装,包括窗口对话框的创建和管理,窗口函数,消息路由,窗口子类化,超类化和消息链。图 展示了这套模板类的层次 WIndow MEssage Map CContainedwindowT<> CWindowImplRoot CWindowImplBaseT< CDialogImplBaseT<> CWindowImpIT< CDialogImpIT<> 图:界面相关类的层次 如果想直接用米创建一个窗口或者对话框,你需要从 或者 派生 类。给你一个具体的例子。图提供了一个简单的用前面讲到的这套类来开发程序的示意图。 起步玩转图形界面 WIndow CMessage Map Th ok-bri d b Ne e g D Met 面dM自验 Lhs tho ad iepnducin a dahon d t Pga h副园M品息身轻 CContainedwindowT<> CWindowImplRoot CWindowImplBaseT<> CDialogImplBaseT<> CWindowImpT< CDialogImpIT< 图简单应用程序 这个例子的应用程序有一个的框架窗口,这个窗口有一个菜单条,状态条和客户区。它也 提供了一个对话框用来演示在里怎样使用对话框。我们就从创建一个简单 工程以及 添加一些必要的启动的代码来开始这个例子。图展示了这个例子的主要源文件的源代码 如果想重载某些方法,你可以从 类派生个类 但是不得改变 的名字 将即时从此行之前插入附加声明。 起步玩转图形界面 起步玩转图形界面 位图 清除 起步玩转图形界面 该行 所必要的 加载通用控件 起步玩转图形界面 在 里, 有两个数据成员:状态条的和 通过 通过调用 的 函数,在 消息处理函数里把状态条创 建成一个子窗口,而且通过发送 消息,调整状态条的大小。 消息的处理函数使用 上述的 演示了一点里的编程。由于对没有提供包装类,所以这里的 编程是直接调用 的来完成的 然而 宏需要你做你自己的消息分解,通过一系列的宏为你分解了 和 消息。 展示了如何使用 宏 用 这个宏来处理它的菜单命令。 最后, 是一个对话框类,继承自 类 命令处理函数调用∫ 用来显示这个对话框。 里有个 这是程序的入口函数,它创建了一个 的实例,而后调用该实例的 函数,以及 和 这些成员函数,这 些成员函数很明显是与他们名字相似的 的封装。最后,因为这个程序从根本上来说,是 窗口程序,我们必须从窗口的消息队列里通过 循环来抽 出消息。如果你熟悉 编程的话,你会注意到这个程序缺少 的调用和处理 窗口消息的窗口过程,其他的部分你都能理解。如果你熟悉,你可能奇怪没有提供那些最 基木的支持,比如创建状态条和菜单。好吧,程序既然能运行,事实证明肯定支持了。不过 并没有做足这方面的支持。我们不要忘记的主要目的主要目的是支持编程。允许 你,但是并没有直接支持,多线程,或浏览器样式的应用程序,也没有封装通用控件 ,和相关函数。如果你对这些感兴趣,那么我们就进入的世界。

...展开详情

评论 下载该资源后可以进行评论 2

herry_ku 非常好的例子,推荐下载,适合初学者学习
2016-06-16
回复
intel0011 good resource, thx
2016-03-22
回复
img
aasmfox
  • 至尊王者

    成功上传501个资源即可获取

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐