分类: C/C++
2008-03-10 21:21:42





//打印结构
typedef struct
{
int nMaxLine; //ClistCtrl中的最大行数
int nCountPage; //一共页数
int nCurPage; //当前页码
BOOL IsPrint; //是否打印,false 表示预览
HWND hWnd; //窗口句柄
HWND hListView; //列表控件句柄
TCHAR szTag[256]; //其它数据
int nTag; //其它数据
LPVOID lpVoid; //其它数据
}PRNINFO, *PPRNINFO;
//打印按钮代码
void CXJWH::OnPrint() //注这里的 CXJWH 为数据管理窗口即打印类的调用窗口
{
if(CLtv。GetItemCount()<= 0) //CLtv 为ClistCtrl, 这里检测是否有数据在列表中
return;
PRNINFO PrnInfo = {0}; //此为用到的一个结构, 见下面定义
PrnInfo。hListView = CLtv。m_hWnd; //ClistCtrl的句柄
PrnInfo。hWnd = this->m_hWnd; //当前窗口句柄
PrnInfo。IsPrint = FALSE; //当前为预览
PrnInfo。nCurPage = 1; //当前页为第一页
PrnInfo。nMaxLine = CLtv。GetItemCount(); //ClistCtrl中的数据行数
CPreParent DlgPreView; //声明打印类
DlgPreView。SetCallBackFun(DrawInfo, PrnInfo); //在这里给它设定我们自己的打印函数
DlgPreView。DoModal(); //预览
} 注: 这里的 DlgPreView.SetCallBackFun(DrawInfo,PrnInfo);