我在vckbase上下载了一个基于对话框的打印程序printdemo,可是怎么运行的时候纸会在打印机里走,可是出来什么也没打上呀,比如:
bool MyPrint::InitPrint(int itemy)
{
m_itemy = itemy;
CPrintDialog printDlg(FALSE);
//利用CPrintDialog 生成打印机设备环境
if (printDlg.DoModal() == IDCANCEL) return false;
// 连接到dc上
printdc.Attach(printDlg.CreatePrinterDC());
printdc.m_bPrinting = TRUE;
printdc.SetMapMode(MM_LOMETRIC);
// 设置字体
oldfont = printdc.SelectObject(&m_font);
// 计算字体
nHorRes = printdc.GetDeviceCaps(HORZRES);
nVerRes = printdc.GetDeviceCaps(VERTRES);
TEXTMETRIC tm;
printdc.GetTextMetrics(&tm);
nCharHeight = tm.tmHeight;
nCharWidth = tm.tmAveCharWidth;
pageend_y = nVerRes - 150;
// 设置打印作业
CString strTitle;
strTitle.LoadString(AFX_IDS_APP_TITLE);
// 打印作业的定义信息
::ZeroMemory (&di, sizeof (DOCINFO));
di.cbSize = sizeof (DOCINFO);
di.lpszDocName = strTitle; return true;
}BOOL MyPrint::StratPrint(void)
{
BOOL bPrintingOK = printdc.StartDoc(&di);
bPrintingOK &= printdc.StartPage(); 
return bPrintingOK;
}
void MyPrint::EndPrint(void)
{
CString str; str.Format("-- 完 --",m_curpage);
int startx = 40 * str.GetLength(); printdc.SelectObject(oldfont);
printdc.TextOut(nHorRes - startx,nVerRes - 70 ,str); printdc.EndPage(); 
printdc.EndDoc(); 
}
void MyPrint::PrintStr(CString str)
{
printdc.SelectObject(&m_font);
printdc.TextOut(cur_x,cur_y,str);
cur_y += nCharHeight + m_itemy;
if(cur_y >= pageend_y)
{
Nextpage();
}
}void CPrintdemoDlg::OnButton1() 
{
CString str1;
MyPrint print;
str1="asdfadfadsf"; print.SetFont(100,5);
if(!print.InitPrint(50)) 
return;
print.StratPrint();
print.PrintStr(str1);
print.EndPrint();
}