📄 ftwordrpt.h
字号:
// FTWordRpt.h: interface for the CFTWordRpt class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_FTWORDRPT_H__41FD4A83_DE57_4F52_A9BE_E2727C57581A__INCLUDED_)
#define AFX_FTWORDRPT_H__41FD4A83_DE57_4F52_A9BE_E2727C57581A__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "msword9.h"
/**************************************************************************
*报表的通用接口
*************************************************************************/
class AFX_EXT_CLASS CReportImpl
{
public:
virtual BOOL InitEnv(BOOL bPlotVis, CString strPicNm, BOOL bFeatureVis, BOOL bDataTableVis,char *szTitle, int nItemsNo) = 0;
virtual void FillRealTbl(float fElapse, float fCh1DC, float fCh1AC, float fCh2DC, float fCh2AC)= 0;
virtual void FillBattHeader(char *szBattType, char *szTestDate, float fFireTime,
float fMaxVol, float fMinVol, float fElapseTime)= 0;
virtual BOOL SaveRpt(BOOL bPrint, const char *szRptFile) = 0;
virtual void PrintRpt() = 0;
virtual void InsertImage(CString strPicNm) = 0;
};
/***************************************************************************
*方式的报表实现
**************************************************************************/
class AFX_EXT_CLASS CFTWordRpt : public CReportImpl
{
public:
BOOL InitEnv(BOOL bPlotVis, CString strPicNm, BOOL bFeatureVis, BOOL bDataTableVis,char *szTitle, int nItemsNo/*实时电压表的行数*/);
void FillRealTbl(float fElapse, float fCh1DC, float fCh1AC, float fCh2DC, float fCh2AC);
void FillBattHeader(char *szBattType, char *szTestDate, float fFireTime,
float fMaxVol, float fMinVol, float fElapseTime);
BOOL SaveRpt(BOOL bPrint, const char *szRptFile);
void PrintRpt();
//////////////////////////////////////////////////////////////////////////////////////////////
CFTWordRpt();
virtual ~CFTWordRpt();
protected:
void CellCtx(Table &objTbl, int nRow, int nCol, char *szCellCtx = NULL);
void CellCtx(Table &objTbl, int nRow, int nCol, float fCellVal =0);
void CellCtx(Table &objTbl, int nRow, int nCol, int nCellVal =0);
void CellWidth(Table &objTbl, int nRow, int nCol, float fCellWidth);
//
void CreateTable(BOOL bPlotVis, BOOL bFeatureVis, BOOL bDataTableVis, int nItemsNo);
void InsertImage(CString strPicNm); //插入图片
private:
_Document m_objDocu; //文档对象
Tables m_objTbls; //文档中的表集合
Range m_objRange; //单元格
Row m_objRow; //行
Selection m_objSelection; //单元格
Border m_objBrder; //
Table m_objRptTable; //表对象
_Application m_objWordApp; //应用对象
//
BOOL m_bInitOk; //是否初始化
BOOL m_bWordEnvOk; //安装正确的Word
int m_nCurrRow; //当前行
int m_nStartMerge;
int m_nItemNo; //当前项号
};
/*Ni构件方式的报表实现*/
class CNiDefRpt : public CReportImpl
{
public:
CNiDefRpt(){;}
virtual ~CNiDefRpt(){;}
//
BOOL InitEnv(BOOL bVisible, char *szTitle, int nItemsNo)
{
return TRUE;
}
void FillHeader(char *szProgID, char *szTDate, char *szTTime,
char *szMnter, char *szTItem){;}
void FillBodyCtx(char *szItemNm, char *szInputSpec, int nIndex,
char * szPtName, char * szRange, float fValue, char *szUnit,
char *szResult){;}
void FillItemCap(char *szItemNo, char *szItemNm){;}
BOOL SaveRpt(const char *szRptFile) {return TRUE;}
void PrintRpt(){;}
protected:
};
#endif // !defined(AFX_FTWORDRPT_H__41FD4A83_DE57_4F52_A9BE_E2727C57581A__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -