Re[5]: Как избавиться от диалога выбора/настроек принтера?
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 06.10.17 11:48
Оценка:
Вот мой псевдокод:

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(&lt);
    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 г.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.