今天就来说说打印对话框吧,顺便看看打印实现吧.呵呵
void CComDialogDlg::OnBtnPrintDlg()
{
// TODO: Add your control notification handler code here
UpdateData();
CPrintDialog dlg( FALSE,//是否是标准的WINDOWS打印对话框,还是PRINT SETUP对话框
PD_ALLPAGES | PD_USEDEVMODECOPIES | PD_NOPAGENUMS | PD_HIDEPRINTTOFILE | PD_NOSELECTION,
this );
if( IDOK == dlg.DoModal() )
{
CDC dc;
DOCINFO docinfo;
dc.Attach( dlg.GetPrinterDC() ); //把打印设备环境附加到DC对象
docinfo.cbSize = sizeof(DOCINFO);
docinfo.lpszDocName = "Test";
docinfo.lpszOutput = NULL;
docinfo.lpszDatatype = NULL;
docinfo.fwType = 0;
dc.StartDoc( &docinfo ); //通知打印机驱动程序执行一新的打印任务
dc.StartPage(); //通知打印机驱动程序打印新页
CFont font;
VERIFY( font.CreatePointFont( 150, "Arial", &dc ) );//为DC创建字体
CFont * poldfont = dc.SelectObject( &font ); //保存现在的字体
dc.TextOut(0,0,m_strString); //打印文字
dc.SelectObject( poldfont ); //恢复原来的字体
font.DeleteObject();
dc.EndPage(); //通知打印机驱动程序页结束
dc.EndDoc(); //通知打印机驱动程序打印完毕
DeleteDC(dc.Detach());
}
}
顺便在贴个页面设置的使用啊,呵呵.
void CComDialogDlg::OnBtnPspDlg()
{
// TODO: Add your control notification handler code here
CPageSetupDialog dlg; //利用缺省参数构造页面设置对话框
if( IDOK == dlg.DoModal() )
{
PAGESETUPDLG psd = dlg.m_psd; //获取信息
m_strString.Format("页面大小为 %d * %d", psd.ptPaperSize.x,psd.ptPaperSize.y);
}
UpdateData(FALSE);
}
下回是什么呢?记着关注啊!