MFC学习之 Codejock Xtreme Toolkit 使用例子
2012-08-22 19:11
309 查看
以Custom Control为例:
一、 使用前的准备
1 新建一个基于对话框的MFC程序ReportControlTest。
2 添加对XT Toolkit Pro 的引用。
添加对头文件“XTToolkitPro.h”的引用。假设Xtreme ToolkitPro的目录下的源文件夹的路径为“D:\Software\Software Development\vs6.0\Xtreme ToolkitPro v11.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
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。
一、 使用前的准备
1 新建一个基于对话框的MFC程序ReportControlTest。
2 添加对XT Toolkit Pro 的引用。
添加对头文件“XTToolkitPro.h”的引用。假设Xtreme ToolkitPro的目录下的源文件夹的路径为“D:\Software\Software Development\vs6.0\Xtreme ToolkitPro v11.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
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。
相关文章推荐
- [转载]Codejock Xtreme ToolkitPro MFC 使用
- Codejock Xtreme ToolkitPro MFC 使用
- MFC学习之 利用 Codejock XtremeToolkitPro 换肤
- Codejock Xtreme Toolkit 使用例子
- MFC学习之Radio---MFC Radio按钮组的使用例子
- MFC入门学习之控件(3)标签控件Tab Control的添加和使用
- 收集的js调用webservice的例子 【学习使用】
- MFC Page 和Sheet 控件使用例子
- Android中图表AChartEngine学习使用与例子
- Spark-Avro学习8之Java Avro使用(不生成code方式)
- Spark-Avro学习9之SCALA环境下Avro使用(不生成code方式)
- PHP学习笔记 - 在Eclipse中使用XDebug调试代码 | Using XDebug debug code in eclipse
- 杂学--变量命名神器codeif的学习和使用
- Java学习笔记87. ArrayList类的两个使用例子
- 一个CTaskDialog类使用的例子 MFC VC 2010
- (学习笔记)Android使用SurfaceView编写“迷宫搜索”例子
- [每日一学]MFC学习笔记——自定义消息的使用
- Codejock的使用--皮肤
- MFC使用ADO连接SQL数据库的学习手记
- oracle学习之路(六)两个实际使用的例子