VC中使用Data Dynamics ActiveReports 2

 原厂商链接: 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);

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值