MFC中报表的分层设计.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MFC中报表的分层设计

EraNo.12009 ·40· Computer M FC中报表的分层设计 谢颖强 (茂名瑞派石化工程有限公司,广东茂名525011) 摘要:介绍了一种在MFC中设计报表的方法:将各种报表共同的功能集中在一起,建立一个打印架构,在这个架构上 设计报表。报表就具有了该架构的功能。文中也列出了关键的源代码。 关键词:虚函数;继承;报表组成;报表层次;打印架构 O引言 在MFC中没有一个简单的打印报表机制,用户通常只能基于这两个类进行没计。 使用GDI函数绘制报表。如果报表较为复杂或者种类较多,使 用这种方法需要进行大量的程序设计,很可能花费在报表没计 上的时间会多于设计主要应用程序的时间,而且对这些的报表 的修改也不是一件容易的事情。因此,专I’j设计一个打印报表 的方法是很有必要的。 1报表的组成 报表通常都是由几个部分组成的,本文将它划分成五个部 图2 分,每个部分称为一个节,分别是:报表头、页头、报表主体、报 这里的设计都遵循一个原则,即只有在最底层的类才涉及 表页脚、页脚。其中报表头只在报表的第一页出现,报表页I挪 数据库访问技术。这样做可以让每个报表的数据库访问技术 只在报表的最后一页出现,页头、报表主体和页脚在每一页都 独立。这种独立性非常重要,不同的数据库访问技术的使用方 出现。需要注意的是,并不是每一个报表都需要所有的这些 法不同,有了这种独立性后,在新制作的报表中使用新的数据 节。这五个节在报表中的位置如图l所示。 库访问技术就不会影响到旧报表的制作。 3打印架构的建立 由于报表的主体部分是最复杂的节,在应用中它是显示数 据的地方,因此将报表主体进一步划分成行和列的结构。行数 和列数可以由应用程序指定。在打印报表主体的时候从左到 右打印每一列,打印每一列的时候从上往下打印每一行。 义了大量虚函数的虚基类,通过其成员函数PrintPage或 PrintReport启动打印过程,在打印过程中这些虚函数将会按一 定的顺序调用,而实际涧用的将是生成实例的派生类的虚函 列、换行等工作,它的派生类就不需要处理这些问题了。 2报表的层次结构 将各种报表共同的功能集中在一起,建立一个打印的架 构,在这个架构的基础上设计报表,报表就自动具有了该架构 Detail。下面是PrintPage完整的代码。 的功能。我们对报表进行了层次划分,每一个层次实现一部分 1.int CSmartReport::P rIntPage(cDC’pDC) 功能。本文利用c++语言的继承性来实现层次的划分。图2是 2.{ 本文所涉及的报表的层次结构图。 3. If

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档