xtreme toolkit pro——CXTPReportControl控件教程-2

一 、使用前的准备

1 、新建一个基于对话框的MFC程序ReportControlTest。

2 、添加对XT Toolkit Pro 的引用。

添加对头文件“XTToolkitPro.h”的引用。假设Xtreme ToolkitPro的目录下的源文件夹的路径为“D:\Software\Software Development\vs6.0\Xtreme ToolkitProv11.2.2-src\Source”,该目录下包含有文件“XTToolkitPro.h”和其他的一些源文件,然后右键单击工程ReportControlTest弹出右键菜单,选择

Settings->c/c++->Catrgory:Preprocessor->Additional include directories:

“D:\Software\Software Development\vs6.0\Xtreme ToolkitPro v11.2.2-src\Source”。 然后在StdAfx.h文件中添加对文件“XTToolkitPro.h”的引用,如:

#include < XTToolkitPro.h> // Codejock Software Components

在XTToolkitPro.h中包含了其他所有的.h头文件的调用,如

#if defined(_XTP_INCLUDE_DEPRECATED)

#include "Common/XTPDeprecated.h"

#endif

#if !defined(_XTP_EXCLUDE_COMMON)

#include "Common/Includes.h" // _XTP_INCLUDE_COMMON

#endif。

3 、添加对.lib文件的调用

假设在 debug 下需要 ToolkitPro1122vc60D.lib 文件在“D:\Software\Software Development\vs6.0\Xtreme ToolkitPro v11.2.2-src\lib\vc60” 下, 那么给工程添加 lib 路径: Settings->Link-> Additional library path directories: “D:\Software\Software Development\vs6.0\Xtreme ToolkitPro v11.2.2-src\ lib\vc60”,在 XTToolkitPro.h 文 件中添加了对该 Lib 文件的调用。

4 、将ToolkitPro1122vc60D.dll拷到当前exe文件目下下,如debug文件夹下。

5、 运行程序,如果出现编译错误:atal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit,这是因为内存不够。/Zm指定预编译头的内存分配限制,可以修改内存分配。

Settings->c/c++->project options: 在最后有/c,在/c前添加一个/Zm200,200指定分配内存是100M。

6.、 在窗体IDD_REPORTCONTROLTEST_DIALOG上添加一个 Custom Control

设置其属性如下:

ID: IDC_REPORTCTRL

Class: XTPReport (此处一定要添加)

7、在源文件中将控件IDC_REPORTCTRL与实际的ReportControl绑定。注意,由于在ClassWizard中不能识别CXTPReportControl类,所以必须手动修改。

a. 给窗体类添加一个CXTPReportControl类的变量 m_wndReportCtrl;

如在ReportControlTestDlg.h头文件中添加如下:

    //{{AFX_DATA(CReportControlTestDlg)

    enum { IDD = IDD_REPORTCONTROLTEST_DIALOG };

    // NOTE: the ClassWizard will add data members here

    CXTPReportControl m_wndReportCtrl;

    //}}AFX_DATA

b. 将控件IDC_REPORTCTRL与变量m_wndReportCtrl 绑定,有两种方法:

(1)在ReportControlTestDlg.cpp文件的DoDataExchange()中修改如下:

    void CReportControlTestDlg::DoDataExchange(CDataExchange* pDX)

    {

    CDialog::DoDataExchange(pDX);

    //{{AFX_DATA_MAP(CReportControlTestDlg)

    // NOTE: the ClassWizard will add DDX and DDV calls here

    DDX_Control(pDX, IDC_REPORTCTRL, m_wndReportCtrl);

    //}}AFX_DATA_MAP

    }

(2)采用SubclassDlgItem子类化一个控件,将派生类的控件对象与对话框中的基类控件相连接

    m_wndReportCtrl.SubclassDlgItem(IDC_REPORTCTRL, this);

    //SubclassDlgItem子类化一个控件,将派生类的控件对象与对话框中的基类控件相连接

8、开始使用m_wndReportCtrl。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值