Вот мой псевдокод:
void CMyDialog::OnBnClickedButton1
{
CDC printDC;
defaultPrinter = получение_принтера_используемого_по_умолчанию;
printDC.Attach(defaultPrinter);
задание_альбомной_ориентации_печати;
cyPage = printDC.GetDeviceCaps(VERTRES);
printDC.GetTextMetrics(&txtm);
cyChar = txtm.tmHeight + txtm.tmExternalLeading;
yPos = 800;
DOCINFO docinfo;
::ZeroMemory(&docinfo,sizeof(DOCINFO));
docinfo.cbSize = sizeof(docinfo);
docinfo.lpszDocName = "Simple";
docinfo.lpszOutput = NULL;
docinfo.lpszDatatype = "RAW";
docinfo.fwType = 0;
CFont *savedFont;
savedFont = printDC.GetCurrentFont();
savedFont->GetLogFont(<);
strcpy(lt.ltFaceName,"Courier New");
lf.lfHeight = 110;
lf.lfWidth = 52;
myFont.CreateFontIndirect(&lf);
printDC.SelectObject(&myFont);
if (printDC.StartDoc(&docinfo)>0)
{
if (printDC.StartPage()>0)
{
sprintf(s,"Тест");
len = strlen(s);
pzText = (LPCSTR)s;
printDC.TextOut(320,yPos,pzText,len);
yPos += cyChar;
printDC.EndPage();
}
printDC.EndDoc();
}
printDC.Detach();
}
То есть берётся принтер, используемый по умолчанию, задаётся альбомная ориентация печати и на печать выводится строка "Тест".
Весь вопрос состоит в том, что нужно написать в коде вместо
defaultPrinter = получение_принтера_используемого_по_умолчанию;
и
задание_альбомной_ориентации_печати;
?
1613 г. = 2024 г.