我写了一段代码,想实现打印一个编辑框的内容,编辑框里的文本是多行的,可打印出来的文本却是一行的
而且没有打印完全,代码如下:
CDC dc;
CPrintDialog printDlg(FALSE);
CFont m_font;
if (printDlg.DoModal() == IDCANCEL)
return;
dc.Attach(printDlg.GetPrinterDC());
::SetTextAlign(printDlg.GetPrinterDC(),ttt);
dc.m_bPrinting = TRUE;
dc.SelectObject(&m_font);
CString strTitle; // Get the application title ?
strTitle.LoadString(AFX_IDS_APP_TITLE);
DOCINFO di;
::ZeroMemory (&di, sizeof (DOCINFO));
di.cbSize = sizeof (DOCINFO);
di.lpszDocName = strTitle;
BOOL bPrintingOK = dc.StartDoc(&di);
if (dc.StartPage() < 0)
{
MessageBox(_T("Could not start page"));
dc.AbortDoc();
}
else
{
CGdiObject* pOldFont = dc.SelectStockObject(SYSTEM_FONT);
dc.TextOut(50, 50,_T(m_value));
dc.EndPage();
dc.EndDoc();
dc.SelectObject(pOldFont);
}
而且打印出来的字体很小。
请问这是怎么回事啊?该如何解决啊?
而且没有打印完全,代码如下:
CDC dc;
CPrintDialog printDlg(FALSE);
CFont m_font;
if (printDlg.DoModal() == IDCANCEL)
return;
dc.Attach(printDlg.GetPrinterDC());
::SetTextAlign(printDlg.GetPrinterDC(),ttt);
dc.m_bPrinting = TRUE;
dc.SelectObject(&m_font);
CString strTitle; // Get the application title ?
strTitle.LoadString(AFX_IDS_APP_TITLE);
DOCINFO di;
::ZeroMemory (&di, sizeof (DOCINFO));
di.cbSize = sizeof (DOCINFO);
di.lpszDocName = strTitle;
BOOL bPrintingOK = dc.StartDoc(&di);
if (dc.StartPage() < 0)
{
MessageBox(_T("Could not start page"));
dc.AbortDoc();
}
else
{
CGdiObject* pOldFont = dc.SelectStockObject(SYSTEM_FONT);
dc.TextOut(50, 50,_T(m_value));
dc.EndPage();
dc.EndDoc();
dc.SelectObject(pOldFont);
}
而且打印出来的字体很小。
请问这是怎么回事啊?该如何解决啊?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货