程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> VC中使用Data Dynamics ActiveReports 2

VC中使用Data Dynamics ActiveReports 2

編輯:vc教程

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 FilesData DynamicsActiveReports Proarpro2.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);

然後運行程序,你就可以看到運行結果了.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved