亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? easyreport.h

?? 這是一個不用任何控件的的純VC報表源碼。而且寫得相當好!
?? H
字號:

/*******************************************************************************
 * EasyReport.h: interface for the CElement class.
 *
 * MFC Easy! Report class
 *
 * Written by Vipul Lal <vipul@hotmail.com>
 * Copyright (c) 2000-2002. All Rights Reserved.
 *
 * This code may be used in compiled form in any way you desire. This
 * file may be redistributed unmodified by any means PROVIDING it is 
 * not sold for profit without the authors written consent, and 
 * providing that this notice and the authors name and all copyright 
 * notices remains intact. 
 *
 * An email letting me know how you are using it would be nice too. 
 *
 * This file is provided "as is" with no expressed or implied warranty.
 * The author accepts no liability for any damage/loss of business that
 * this product may cause.
 *
 *
 *******************************************************************************/


#if !defined(_EasyReport_H_65D16A04_6617_45DA_AE5C_B625482F7098)
#define _EasyReport_H_65D16A04_6617_45DA_AE5C_B625482F7098


#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000



class CEasyReport : public CObject  
{

public:

	// Struct CColInfo defines columns in a tabular section.
	struct CColInfo
	{
		enum eAlignType { eLeft, eCenter, eRight, eDecimal };

		const char *m_Heading;
		int			m_CharCount;
		eAlignType	m_align;
	};


protected:
	DECLARE_SERIAL( CEasyReport)
	void	Serialize(CArchive &);

// Data members
	// Page Stats...
	int				m_PageHeight;	// height of the entire page
	int				m_PageWidth;
	int				m_TopMargin;	// page top margin
	int				m_BottomMargin;
	int				m_LeftMargin;
	int				m_RightMargin;

	// Standard fonts and styles...
	enum eFontIndex { eCaptionFont, eColHeadingFont, eDataFont, eTextFont };
	enum { eMaxStyles = eTextFont + 1 };

	CFont		*m_Fonts[ eMaxStyles ];
	CSize		m_TextSizes[ eMaxStyles ];
	CPen		m_StdPen;

	// printer device context. Valid only while printing
	HDC				m_PrinterDC;

	// Page
	int				m_MaxCol;
	int				m_PageCount;
	int				m_CurPage;		// current page on display
	int				m_DataTop;		// top of the data area on this page.

	// Report generation
	CPtrArray		m_ReportItems;
	CWordArray		m_PageItems;	// for preview

	// Table support
	CWordArray		m_TabStops;			// array of tab stops for the columns
	CColInfo		*m_DataCols;		// Array of column info items in the table
	int				m_NumDataCols;		// # of columns in the table

	bool			m_RepeatTblHdr;		// repeat this header on every page
	bool			m_RedrawTblHdr;		// set after EjectPage and reset with AtCol
	bool			m_SuppressBlankTbl;	// Suppress table header if table is blank

	int				m_TableHeadingHt;	// for multi-row headings
	TCHAR			m_BreakChar;		// for word wrapping.

	// headers and footers
	int				m_ReportHdrHt;	// height of the report header
	int				m_ReportFtrHt;	// height of the report footer
	int				m_PageHdrHt;	// height of the page header
	int				m_PageFtrHt;	// height of the page footer
	
	// Standard items used in a report
	CString			m_CompanyName;		// name of this company
	CString			m_ReportTitle;		// report title
	CString			m_ReportDate;		// report date

	// protected members
	void	SetupRectForCol(int inTabStop, CRect &outRect);
	void	WriteParagraph(const char *inText);


public:
	CEasyReport();
	virtual ~CEasyReport();
	virtual void	DoCleanup();

	// Functionality
	void	Start(void);
	void	End();
	void	DrawCurrentPage(CDC *inDC);

	// setters...
	void	SetCompanyName(const char *inStr)		{ m_CompanyName = inStr;}
	void	SetReportTitle(const char *inStr)		{ m_ReportTitle = inStr;}

	void	AtTab(int,const char *);	// print something at tab(n)
	void	AtTab(int,double,bool inInsertCommas = true);
	void	NextRow();					// position to next row
	void	SetDataCols(CColInfo *inCols = NULL, int nCols=0);
	void	WriteTableHeader();

	bool	EjectPage(bool inIsLastPage = false);

	// override to customize
	virtual	void	WriteReportHeader(CRect inRect);
	virtual	void	WriteReportFooter(CRect inRect);
	virtual	void	WritePageHeader(CRect inRect);
	virtual	void	WritePageFooter(CRect inRect);
	virtual	void	SetupTextStyles(HDC inDC);

	// rendered report
	int		GetPageCount()			{return m_PageCount;}
	int		GetCurPage()			{ return m_CurPage;}

	void	GotoPage(int inPage)	
	{ 
		if(inPage < m_PageCount)
			m_CurPage = inPage;
	}


	// page stats
	int		GetPageWidth(void)		{return m_PageWidth;}
	int		GetPageHeight(void)		{return m_PageHeight;}
	int		GetLeftMargin(void)		{return m_LeftMargin;}
	int		GetTopMargin(void)		{return m_TopMargin;}
	int		GetRightMargin(void)	{return m_RightMargin;}
	int		GetBottomMargin(void)	{return m_BottomMargin;}
	int		GetRightEdge(void)		{return m_PageWidth - m_RightMargin;}
	int		GetBottomEdge(void)		{return m_PageHeight - m_BottomMargin;}

	const CPen  *GetPen(int)
	{
		return &m_StdPen;	// only one pen style supported for now
	}

	const CFont	*GetStyle(int inStyleIndex);


	const CSize &  GetCaptionFontSize()
	{
		return m_TextSizes[ eCaptionFont ];
	}

	const CSize &  GetHeadingFontSize()
	{
		return m_TextSizes[ eColHeadingFont ];
	}


	const CSize &  GetDataFontSize()
	{
		return m_TextSizes[ eDataFont ];
	}

};



#endif // !defined(_EasyReport_H_65D16A04_6617_45DA_AE5C_B625482F7098)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一级片网址| 岛国一区二区在线观看| 国产精品一二三| 免费在线成人网| 天堂在线亚洲视频| 午夜精品久久久久久| 一区二区三区四区视频精品免费 | 欧美一级日韩免费不卡| 亚洲自拍偷拍麻豆| 成人av免费观看| 久99久精品视频免费观看| 亚洲精选视频免费看| 中文字幕在线观看不卡| 国产欧美日产一区| 久久久久久99精品| 中文字幕成人网| 自拍偷拍亚洲激情| 一区二区日韩av| 水蜜桃久久夜色精品一区的特点| 丝袜脚交一区二区| 国产一区二区三区最好精华液 | 在线观看www91| 欧美影院精品一区| 日韩欧美色综合网站| 国产日韩一级二级三级| 亚洲乱码一区二区三区在线观看| 国产精品白丝在线| 国产一区二区三区黄视频| 26uuu亚洲综合色欧美| 国产日韩精品视频一区| 国产精品灌醉下药二区| 视频一区欧美日韩| 国产精品一线二线三线精华| 色又黄又爽网站www久久| 欧美一区二区在线观看| 国产精品人人做人人爽人人添| 一二三区精品福利视频| 国产自产2019最新不卡| 欧美在线观看一区| 国产日韩欧美一区二区三区乱码| 一区二区三区在线观看动漫| 另类调教123区| 色噜噜狠狠成人网p站| 精品欧美一区二区久久| 亚洲午夜激情av| 成人开心网精品视频| 中文字幕精品在线不卡| www一区二区| 国产精品久久久久久久久晋中 | 国产一区免费电影| 99精品久久久久久| 日韩女优毛片在线| 亚洲午夜一区二区| www..com久久爱| 久久先锋资源网| 日韩经典中文字幕一区| 色诱视频网站一区| 国产精品久久精品日日| 激情欧美一区二区三区在线观看| 欧美吞精做爰啪啪高潮| 国产精品国产三级国产aⅴ入口 | 91免费国产在线观看| 欧美精品一区二区在线播放| 婷婷久久综合九色综合绿巨人| av高清不卡在线| 中文字幕免费观看一区| 精品一二三四区| 日韩欧美在线综合网| 天天免费综合色| 成人av动漫在线| 国产成人在线影院| 精品国产污污免费网站入口| 亚洲尤物视频在线| 91老师片黄在线观看| 国产精品第一页第二页第三页| 狠狠色丁香久久婷婷综合_中 | 日本精品一区二区三区高清| 国产日产欧美精品一区二区三区| 精品一区二区三区免费毛片爱| 精品国产乱码久久久久久蜜臀| 日本最新不卡在线| 欧美高清性hdvideosex| 亚洲gay无套男同| 欧美久久久影院| 日韩在线一二三区| 日韩欧美国产一区在线观看| 久久精品99国产精品| 久久欧美中文字幕| 福利视频网站一区二区三区| 国产精品美女久久久久aⅴ国产馆| 国产福利91精品一区二区三区| 久久精品视频在线免费观看 | 中文字幕一区二区在线播放| 99久久国产综合色|国产精品| 亚洲欧美区自拍先锋| 91福利国产成人精品照片| 亚洲一区二区三区中文字幕在线| 欧美日韩中文字幕一区| 日韩精品久久理论片| 精品国产污污免费网站入口| 国产高清精品网站| 亚洲色图在线播放| 666欧美在线视频| 国产iv一区二区三区| 亚洲精品菠萝久久久久久久| 欧美午夜理伦三级在线观看| 欧美激情艳妇裸体舞| 色综合天天视频在线观看| 欧美日韩国产在线观看| 久久99精品国产麻豆婷婷| 欧美激情一区二区三区在线| 久久蜜桃av一区精品变态类天堂| 国产成人精品午夜视频免费| 樱花草国产18久久久久| 日韩欧美一区二区在线视频| 成人免费福利片| 热久久免费视频| 中文字幕在线不卡视频| 88在线观看91蜜桃国自产| 国产suv一区二区三区88区| 午夜不卡在线视频| 国产精品免费av| 日韩一区国产二区欧美三区| av电影一区二区| 久久福利资源站| 亚洲成av人影院| 日韩理论片中文av| 久久先锋资源网| 欧美一区二区日韩| 在线视频国内一区二区| 国产成人免费视频精品含羞草妖精| 亚洲香肠在线观看| 亚洲欧美在线另类| 久久久久久久久97黄色工厂| 欧美精品日韩综合在线| 色av成人天堂桃色av| 国产风韵犹存在线视精品| 麻豆高清免费国产一区| 天堂蜜桃一区二区三区| 亚洲永久精品大片| 亚洲欧洲成人自拍| 中文字幕乱码亚洲精品一区| 2017欧美狠狠色| 欧美tk—视频vk| 欧美一二三区在线观看| 制服丝袜亚洲精品中文字幕| 一本到一区二区三区| 99久久精品情趣| av一二三不卡影片| 大白屁股一区二区视频| 国产91精品一区二区| 国产精品91一区二区| 国产精品一二三四区| 国产精品亚洲综合一区在线观看| 黄色小说综合网站| 精品一区二区三区的国产在线播放| 免费观看成人鲁鲁鲁鲁鲁视频| 天堂蜜桃91精品| 日韩精品电影在线| 久久91精品久久久久久秒播| 另类欧美日韩国产在线| 激情伊人五月天久久综合| 久久福利视频一区二区| 久久不见久久见免费视频7| 久久疯狂做爰流白浆xx| 日韩精品中午字幕| 精品日韩欧美在线| 久久五月婷婷丁香社区| 久久精品人人做人人爽97| 国产亚洲精品资源在线26u| 国产丝袜美腿一区二区三区| 国产精品日产欧美久久久久| 国产精品美女久久久久久| 亚洲精品免费看| 日韩制服丝袜先锋影音| 精品一区二区三区的国产在线播放| 国产二区国产一区在线观看| 成人av第一页| 欧美视频精品在线观看| 日韩欧美在线网站| 国产精品久久久一本精品| 亚洲一线二线三线视频| 久久成人久久爱| 99久久精品国产麻豆演员表| 欧美视频自拍偷拍| 欧美精品一区二区三区蜜桃| 国产欧美视频一区二区| 艳妇臀荡乳欲伦亚洲一区| 麻豆精品视频在线观看视频| 成人在线一区二区三区| 欧美三级电影网| 久久久蜜桃精品| 午夜伦欧美伦电影理论片| 国产美女精品人人做人人爽| 91亚洲国产成人精品一区二三 | 日韩电影免费一区| 成人综合激情网| 欧美日韩国产天堂| 日本一区二区三区视频视频| 日韩中文字幕av电影|