📄 0008dlg.cpp
字号:
//#define DMPAPER_11X17 17 /* 11x17 in */
//#define DMPAPER_NOTE 18 /* Note 8 1/2 x 11 in */
//#define DMPAPER_ENV_9 19 /* Envelope #9 3 7/8 x 8 7/8 */
//#define DMPAPER_ENV_10 20 /* Envelope #10 4 1/8 x 9 1/2 */
//#define DMPAPER_ENV_11 21 /* Envelope #11 4 1/2 x 10 3/8 */
//#define DMPAPER_ENV_12 22 /* Envelope #12 4 \276 x 11 */
//#define DMPAPER_ENV_14 23 /* Envelope #14 5 x 11 1/2 */
//#define DMPAPER_CSHEET 24 /* C size sheet */
//#define DMPAPER_DSHEET 25 /* D size sheet */
//#define DMPAPER_ESHEET 26 /* E size sheet */
//#define DMPAPER_ENV_DL 27 /* Envelope DL 110 x 220mm */
//#define DMPAPER_ENV_C5 28 /* Envelope C5 162 x 229 mm */
//#define DMPAPER_ENV_C3 29 /* Envelope C3 324 x 458 mm */
//#define DMPAPER_ENV_C4 30 /* Envelope C4 229 x 324 mm */
//#define DMPAPER_ENV_C6 31 /* Envelope C6 114 x 162 mm */
//#define DMPAPER_ENV_C65 32 /* Envelope C65 114 x 229 mm */
//#define DMPAPER_ENV_B4 33 /* Envelope B4 250 x 353 mm */
//#define DMPAPER_ENV_B5 34 /* Envelope B5 176 x 250 mm */
//#define DMPAPER_ENV_B6 35 /* Envelope B6 176 x 125 mm */
//#define DMPAPER_ENV_ITALY 36 /* Envelope 110 x 230 mm */
//#define DMPAPER_ENV_MONARCH 37 /* Envelope Monarch 3.875 x 7.5 in */
//#define DMPAPER_ENV_PERSONAL 38 /* 6 3/4 Envelope 3 5/8 x 6 1/2 in */
//#define DMPAPER_FANFOLD_US 39 /* US Std Fanfold 14 7/8 x 11 in */
//#define DMPAPER_FANFOLD_STD_GERMAN 40 /* German Std Fanfold 8 1/2 x 12 in */
//#define DMPAPER_FANFOLD_LGL_GERMAN 41 /* German Legal Fanfold 8 1/2 x 13 in */
//#if(WINVER >= 0x0400)
//#define DMPAPER_ISO_B4 42 /* B4 (ISO) 250 x 353 mm */
//#define DMPAPER_JAPANESE_POSTCARD 43 /* Japanese Postcard 100 x 148 mm */
//#define DMPAPER_9X11 44 /* 9 x 11 in */
//#define DMPAPER_10X11 45 /* 10 x 11 in */
//#define DMPAPER_15X11 46 /* 15 x 11 in */
//#define DMPAPER_ENV_INVITE 47 /* Envelope Invite 220 x 220 mm */
//#define DMPAPER_RESERVED_48 48 /* RESERVED--DO NOT USE */
//#define DMPAPER_RESERVED_49 49 /* RESERVED--DO NOT USE */
//#define DMPAPER_LETTER_EXTRA 50 /* Letter Extra 9 \275 x 12 in */
//#define DMPAPER_LEGAL_EXTRA 51 /* Legal Extra 9 \275 x 15 in */
//#define DMPAPER_TABLOID_EXTRA 52 /* Tabloid Extra 11.69 x 18 in */
//#define DMPAPER_A4_EXTRA 53 /* A4 Extra 9.27 x 12.69 in */
//#define DMPAPER_LETTER_TRANSVERSE 54 /* Letter Transverse 8 \275 x 11 in */
//#define DMPAPER_A4_TRANSVERSE 55 /* A4 Transverse 210 x 297 mm */
//#define DMPAPER_LETTER_EXTRA_TRANSVERSE 56 /* Letter Extra Transverse 9\275 x 12 in */
//#define DMPAPER_A_PLUS 57 /* SuperA/SuperA/A4 227 x 356 mm */
//#define DMPAPER_B_PLUS 58 /* SuperB/SuperB/A3 305 x 487 mm */
//#define DMPAPER_LETTER_PLUS 59 /* Letter Plus 8.5 x 12.69 in */
//#define DMPAPER_A4_PLUS 60 /* A4 Plus 210 x 330 mm */
//#define DMPAPER_A5_TRANSVERSE 61 /* A5 Transverse 148 x 210 mm */
//#define DMPAPER_B5_TRANSVERSE 62 /* B5 (JIS) Transverse 182 x 257 mm */
//#define DMPAPER_A3_EXTRA 63 /* A3 Extra 322 x 445 mm */
//#define DMPAPER_A5_EXTRA 64 /* A5 Extra 174 x 235 mm */
//#define DMPAPER_B5_EXTRA 65 /* B5 (ISO) Extra 201 x 276 mm */
//#define DMPAPER_A2 66 /* A2 420 x 594 mm */
//#define DMPAPER_A3_TRANSVERSE 67 /* A3 Transverse 297 x 420 mm */
//#define DMPAPER_A3_EXTRA_TRANSVERSE 68 /* A3 Extra Transverse 322 x 445 mm */
//
//
//
m_yyy.BeginCx(); //初始化
//纸张设置不是很好目前用mfc类库里的宏定义 设置纸张 缺省 A4
m_yyy.SetPaperSize(DMPAPER_A4);
m_yyy.SetSpan(5); //列头字体与上下线的距离
m_yyy.SetLeftSpace(20); //设置左面开始距离 ,就是内容在左空多大的距离。试试就知道了。
m_yyy.SetBottomHeight(20); //设置下面留的距离,就是内容剧下面纸边的距离
m_yyy.SetColSpace(10); // 设置每一列的空隙,例如画线用的空间。
m_yyy.SetLineSpace(20); // 设置每行之间的距离。
//以上都有默认值,不设也可以
//以下是设置报表头 可以加任意多个 例如 日期 ,标题及其它
//@**#---2002-12-26 13:44:22 (王继南)---#**@
// AddHeadTitle(short sFontSize/*字体尺寸*/, LPCTSTR lFontName/*字体名称*/,
// PCTSTR lChangeLine/*是否换行 0 不换行 1换行*/,
// LPCTSTR lFontB/*字体粗细 B 加粗 其它为细的*/, short sX/*在这行的x坐标*/,
// LPCTSTR lTitleHead/*标题内容 可为空*/)
m_yyy.AddHeadTitle(4,"楷体_GB2312","1","B",600,"客户资金流水表");
m_yyy.AddHeadTitle(2,"宋体","1"," ",1000,"(报表头)");
//这个方法可以变相的用,例如你可想让行与行间有一定的距离你可以用下面的语句,距离为2毫米
m_yyy.AddHeadTitle(0,"宋体","1"," ",20,"");
m_yyy.AddHeadTitle(3,"宋体","1"," ",20,"2002年11月11日");
//这个方法可以变相的用,例如你可想让行与行间有一定的距离你可以用下面的语句,距离为1毫米
m_yyy.AddHeadTitle(0,"宋体","1"," ",10,"");
// 设置报表列头字体大小0-36,是否加粗 B加粗 否则其它 就可以,字体名称
m_yyy.SetReportColHead(3,"G","宋体");
// 设置报表内容字体大小0-36,是否加粗 B加粗 否则其它 就可以,字体名称
m_yyy.SetReportColBody(3,"G","宋体");
// 单独设置列头,和内容 报表字体的粗细 其实上面就可以完成这个功能
m_yyy.SetReportHeadFontWeight("B");
m_yyy.SetReportBodyFontWeight("G");
//添加列信息
//AddColInfo(short sFontWidth/*列宽度单位是每个汉字*/, LPCTSTR lAlign/*靠齐方位*/
//, BOOL bDisplay/*是否显示该列*/, BOOL bPrint/*是否打印该列*/,
// LPCTSTR lTotalType/*汇总类型*/, LPCTSTR lColType/*列的数据类型*/,
//LPCTSTR lColName/*列标题*/, LPCTSTR lFieldName/*列名字*/, short sDecWidth/*小数点位数*/)
m_yyy.AddColInfo(7,"L",true,true,"S","C","资金帐号","zjzh",0);
m_yyy.AddColInfo(4,"C",true,true,"C","C","客户姓名","xm",0);
m_yyy.AddColInfo(9,"L",true,true,"C","C","身份证号","sfzh",0);
m_yyy.AddColInfo(8,"R",true,true,"S","N","资金发生数","zjfss",2);
m_yyy.AddColInfo(3,"L",true,true,"C","C","流水号","lsh",0);
m_yyy.AddColInfo(4,"L",true,true,"C","D","发生日期","fsrq",0);
m_yyy.AddColInfo(10,"L",true,true,"C","C","备注信息","bzxx",0);
/*@**#---2003-01-14 10:41:08 (王继南)---#**@
m_yyy.AddColInfo(7,"L",true,true,"S","C","资金帐号","zjzh",0);
m_yyy.AddColInfo(4,"C",true,true,"C","C","客户姓名","xm",0);
m_yyy.AddColInfo(9,"L",true,true,"C","C","身份证号","sfzh",0);
m_yyy.AddColInfo(8,"R",true,true,"S","N","资金发生数","zjfss",2);
m_yyy.AddColInfo(3,"L",true,true,"C","C","流水号","lsh",0);
m_yyy.AddColInfo(4,"L",true,true,"C","D","发生日期","fsrq",0);
m_yyy.AddColInfo(10,"L",true,true,"C","C","备注信息","bzxx",0);
*/
m_yyy.CreateAndOpen(); //创建dbf库 为了解决数据量大时内存的问题
//加数据值 别需和上面的列数量相同 否则会出错
CString strTmp;
for(long i=0 ; i<500;i++)
{
//for(int jj=0;jj<2;jj++)
{
strTmp.Format("%d",i);
m_yyy.AddFieldValue(strTmp.GetBuffer(0));
// strTmp.Format("%d你",i);
m_yyy.AddFieldValue("刘德华");
strTmp.Format("%018d",i);
m_yyy.AddFieldValue(strTmp.GetBuffer(0));
m_yyy.AddFieldValue("23.09");
strTmp.Format("%06d",i);
m_yyy.AddFieldValue(strTmp.GetBuffer(0));
m_yyy.AddFieldValue("20010304");
m_yyy.AddFieldValue("资金存取流水");
}
}
//显示报表窗体
m_yyy.ShowModal();
}
void CMy0008Dlg::OnButton1()
{
CString strtmp,strtmp1;
m_yyy.BeginCx();
/////////////////////////////
m_yyy.AddHeadTitle(4,"楷体_GB2312","1","B",500,"原始测量数据报表");
CTime t=CTime::GetCurrentTime();
int n=t.GetYear();
strtmp.Format("%d",n);
strtmp1=strtmp+"年";
n=t.GetMonth();
strtmp.Format("%d",n);
strtmp1+=strtmp+"月";
n=t.GetDay();
strtmp1+=strtmp+"日";
m_yyy.AddHeadTitle(3,"宋体","1"," ",20,strtmp1);
m_yyy.AddHeadTitle(0,"宋体","1"," ",10,"");
m_yyy.SetReportColBody(3,"G","宋体");
m_yyy.SetReportColHead(3,"G","宋体");
// m_yyy.SetReportHeadFontWeight(700);
m_yyy.AddColInfo(6,"R",true,true,"S","N"," 水表编号","nh",0);
m_yyy.AddColInfo(20,"C",true,true,"C","C","ssssss","llll",0);
m_yyy.AddColInfo(20,"L",true,true,"C","C","采集时间","oo",0);
m_yyy.CreateAndOpen();
// TRACE( "begin\n" );
//@**#---2003-01-14 11:32:19 (王继南)---#**@
//POSITION pos;
// for( pos = theApp.m_lDsplyLst.GetHeadPosition(); pos != NULL; )
// {
// tag_Dsply * dsp=(tag_Dsply*)theApp.m_lDsplyLst.GetNext(pos);
// strtmp=dsp->strID;
// m_yyy.AddFieldValue(strtmp.GetBuffer(0));
// strtmp=dsp->strRslt;
// m_yyy.AddFieldValue(strtmp.GetBuffer(0));
// strtmp=dsp->strTime;
// m_yyy.AddFieldValue(strtmp.GetBuffer(0));
//
//
// }
m_yyy.ShowModal();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -