VC++
分类信息: VC++, C++, MFC, 打印, 表单制作,
最近在做一个项目,客户需要打印很多的表单,而且格式各异,之前因为使用较少每个都是一笔一画的在写,也不觉得有什么累,可是这次这么多表单,一百多个,要是再这么做,不累死几位兄弟,项目肯定是拿不下来,而且万一客户要求调整,其工作量简直无法想像,于是在想要是能有那么一个类,能像使用Excel一样那么简单的就能打印出各式各样的表单,那该多好呀!首先想到的是网上去找,开始遍游了各大开源网站,百度,Google,竟然都找不到一个能满足自己要求的东东,还是我的检索方式不对,一个星期的时间就这么过去,时间不等人呀。左思右想最后下决心还是自己做吧,马上行动,经过几天的奋战, (单元格合并,拆分,字体,颜色,背景,对齐方式等),而且操作也很方便,在些跟各位网友分享一下,以供初学者学****之用,并且希望能起到抛砖引玉的作用,大家一起努力,共同进步,早日从繁琐的表单制作中解脱出来。
(由于CMyPageTable类文件原代码较长,如有需要的朋友可以加我QQ:469860364大家一起共同探讨。)
运行效果图:
操作制作步骤:
第一步:创建表单
Create(CDC *pDC,const CStringArray &AsColWidth,const BMYPAGETABLETEXT &TableText)
第二步:增加行
AddItem(int nRowHigh); //增加行信息
SetItemText( int nItem,int nSubItem,const CString sText,UINT HALG,UINT VALG);//设置行信息
第三步:绘制表单
Draw(const CRect &rtParent,UINT HALG,UINT VALG,int x,int y,int ICODE,BOOL bInFrame);
//----CmyPageTable完整示例代码-------
// 初始化数据
CArray<BSPRINTSTANDARDTEMDATA,BSPRINTSTANDARDTEMDATA&> sAData;
BSPRINTSTANDARDTEMDATA bData;
for(int i=0;i<5;i++)
{
CString str;
("%d",i);
=str;
=_T("AAA");
=_T("BBB");
=_T("CCC");
=_T("DDD");
(bData);
}
// 绘制表单
CMyPageTable m_PaTable;
CStringArray AsColWidth,AsColText;
for(i=0;i<5;i++)
("150");
("序号");
("分项名称");
(
vc+ mfc多功能打印表单类 来自淘豆网www.taodocs.com转载请标明出处.