#include "stdafx.h"
#include "./printhelper.h"
#include "math.h"
#include
static const unsigned int grid_width =
;static const unsigned int a3_*****_width = 420;
cprinthelper::cprinthelper(cdc * pdc, bool bheader, bool bfooter) : _pdc(pdc)
, _bheader(bheader)
, _bfooter(bfooter)
cprinthelper::~cprinthelper()
//頁首的列印
void cprinthelper::printheader(cstring title, cstring syear,
cstring simage, cstring eyear, cstring eimage)
//msflexgrid頭
void cprinthelper::printgridheader()
//列印頁尾的內容:第 x 頁
void cprinthelper::printfooter(int currentpage) //, int totalpage)
;int cprinthelper::printpage(cmsflexgrid1 &grid, int rowpos)
return rowpos;
}// 列印一條row資料需要多少行
int cprinthelper::getprintlinenumber(cmsflexgrid1 &grid, int rowpos)
return maxheight;
}// 畫一行格仔( 格仔大小取自grid_width )
void cprinthelper::printlinegrid(int top, int height)
// 畫兩根橫線
_pdc->moveto(_leftmargin, top);
_pdc->lineto(_leftmargin + mm2pixel(x * _ratio), top);
_pdc->moveto(_leftmargin, buttom);
_pdc->lineto(_leftmargin + mm2pixel(x * _ratio), buttom);
return;
}// 列印一行資料
bool cprinthelper::printlinetext(cmsflexgrid1 &grid, int row, int& lineposition)
y += getlinepixelheight();
}lineposition += rowheight;
return true;
}cstring cprinthelper::getsubstring( const cstring s, int istartpos, int ilen ) const
else
}if ( inextpos > istartpos )
else
while( i < len && icutlen < ilen )
else
i+= 2;}}
}return( sret );
}
DataGrid的列印(三)
if dlg.domodal idcancel return create a cdc and attach it to the default printer cdc dcprinter dcprinter.attach dlg.createprinterdc initialize docinfo...
DataGrid的列印預覽和列印
using system using system.drawing using system.collections using system.componentmodel using system.windows.forms using system.data using system.data....
C 列印DataGrid中的資料
對於資訊系統,列印功能是必須的。而列印,是一件相當麻煩的事情。列印datagrid中的資料,尤其如此。要想到的很多,包括頁首 頁尾設定,列印字型,分頁,標題,預覽等等一系列問題。如果從頭寫,工作量實在太大。網路上有很多c 寫的列印datagrid類 我幾乎挨個嘗試了個遍,要麼就是不能正常使用,要麼就...