中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Visual C++ > 综合文章
VC中使用Data Dynamics ActiveReports 2
作者:未知 时间:2005-06-14 12:12 出处:Blog 责编:chinaitpower
              摘要:暂无
 原厂商链接:http://www.datadynamics.com/
软件级别: ☆☆☆☆☆

   ActiveReports 融合了Micorsoft Visual Basic的功能和灵活性,以及高级ActiveX Designer Component 技术,为Visual Basic开发员提供终端报表设计器。
  
   ActiveReports 完全集成了Visual Basic编码环境,从外观和感觉上都像是VB。不存在模糊的脚本或工作,提供了完全开放的框架结构。您可以在报表中使用VB代码,ActiveX和OLE Objects,因此您可以无限制的处理最复杂的报表。
  
   ActiveReports 包括了一个Report Wizard,帮助你一步步创建简单报表,而不需要编写任何代码。向导作为一个添加模块集成在Visual Basic环境中。
  
   ActiveReports 基于Active Designer 设计说明,允许控件集成到宿主设计环境中,并允许其充分利用环境服务。
  
   设计器是一个非常灵活的ActiveX控件和对象宿主。您可以在您的报表中插入任一控件或OLE对象,如图表和文档。OLE对象可以绑定到数据库中BLOB字段。

我们就以生成控件的方法利用
Data Dynamics ActiveReports。
首先建立一个单文档单视图应用程序,然后添加一个ActiveX控件中的类,选择注册表中后选中ActiveReports Viewer2<1.0>,添加后出现一个CARViewer类(用IARViewer接口),再添加一个ActiveX控件中的类,选择文件中后选中Common Files\Data Dynamics\ActiveReports Pro\arpro2.dll,添加后出现一个CActiveReport类(用IActiveReport接口)。
添加完毕后,这两个类还不能直接使用,因为程序添加时自动指定CLSID是错误的,CActiveReport类修改为如下:

    CLSID const& GetClsid()
    {
        static CLSID const clsid
            = { 0x9EB8768B, 0xCDFA, 0x44DF, { 0x8F, 0x3E, 0x85, 0x7A, 0x84, 0x05, 0xE1, 0xDB } };
        return clsid;
    }

CARViewer类修改为如下:

    CLSID const& GetClsid()
    {
        static CLSID const clsid
            = { 0x8569D715, 0xFF88, 0x44BA, { 0x8D, 0x1D, 0xAD, 0x3E, 0x59, 0x54, 0x3D, 0xDE } };
        return clsid;
    }
此时类已经可以使用了,在视图类中添加两个类的对象,
    CARViewer arReportViewer;
    CActiveReport arReport;
视图类中添加WM_CREATE,在函数OnCreate中添加如下代码:

    arReportViewer.Create("tEST",WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),this,1);
    arReport.Create("",WS_POPUP ,CRect(0,0,0,0),this,2);
    arReport.put_documentName("test");
    arReportViewer.put_RulerVisible(TRUE);
    arReportViewer.put_ToolbarVisible(TRUE);
    arReportViewer.put_TOCEnabled(false);
    COleVariant varRpx("Report.rpx");
    arReport.LoadLayout(varRpx);
    arReportViewer.put_ReportSource(arReport.GetReport());
    arReportViewer.Refresh();


视图类中添加WM_SIZE,在函数OnSize中添加如下代码:

    arReportViewer.SetWindowPos (NULL, -1, -1, cx, cy,
        SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOZORDER);

然后运行程序,你就可以看到运行结果了.

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有