当前位置: 首页 > 图文教程 > 开发语言 > VC++ > 一个打印报表的简单的类
| 一个打印报表的简单的类
class CPrintRX {public: void MoveTo(int xCur, int yCur); int GetStrSize(char *str, CSize& size); int GetWidth(); void NewPage(); //开始新的一页 void EndPage(); //结束一页 int StartPage(); //开始一页 void SetDistance (int punkte); int SetMargins(int Top, int Bottom, int Left, int Right); int EndPrint(); //结束作业 int StartPrint(); //开始打印作业 int InitToPrint(char *PrinterName, int Copies); //初始化 int SetFontFace(int iFont, int iFace); int AddFont(LOGFONT *lf); //添加字体 int AddFont(CFont &newfont); int DrawVLine(int x_up, int y_up, int x_bottom, int y_bottom, CPen &newpen); int DrawVLine(int x_up, int y_up, int x_bottom, int y_bottom); int DrawHLine(int x_left, int y_left, int x_right, int y_right, CPen & newpen); int DrawHLine(int x_left, int y_left, int x_right, int y_right); int DrawText(char *str, CRect& m_rt, int iFont = 0, int iFace = 0, int format = FORMAT_NORMAL); int DrawText(char *str, int iFont = 0, int iFace = 0, int format = FORMAT_NORMAL); CPrintRX(); virtual ~CPrintRX();private: CDC m_DC; // 打印的设备内容 HDC m_hPrinter; // 当给定了一个打印机的时候使用 CDC m_PrinterDC; // 没有指定打印机的时候使用 CFont* m_font[10][4];// 存放字体的的变量 int m_nFonts; // 现有的字体数 int m_iFont; // 使用的字体索引 int m_iFace[10]; // 使用的风格索引 int m_nCopies; // 打印的份数 CSize m_WorkSize; // 纸张的物理的宽度,以打印机的像素数为准 CRect m_Margins; // 使用范围,以屏幕的像素数为准 int m_yCur; // 当前的鼠标的位置Y int m_xCur; // 当前的鼠标的位置X int m_Abstand; // 行间距 int m_iPage; // 当前的页数 int m_LastErrNo; // 最后一个错误值 CPrintDialog *m_pPrintDlg; // 使用打印机设置对话框}; 三、在测试程序中的打印效果如下![]() 图一 打印效果扫描图 四、当然,这个类实现的比较简单,还没有画位图的功能,但是可以给做相关的工作的朋友一些帮助。也希望朋友们把它做的更加完善。 |
评论 (0) All