CDC::StartDoc
Informuje o ovladač zařízení, který spouští nové tiskové úlohy a všechny následné StartPage a EndPage volání by zařazen pod stejnou úlohu, dokud EndDoc dojde k volání.
int StartDoc(
LPDOCINFO lpDocInfo
);
int StartDoc(
LPCTSTR lpszDocName
);
Parametry
lpDocInfo
Odkazuje DOCINFO struktura obsahující název výstupního souboru a název souboru dokumentu.lpszDocName
Ukazatel na řetězec obsahující název souboru dokumentu.
Vrácená hodnota
Pokud funkce úspěšný, vrácená hodnota je větší než nula.Tato hodnota je identifikátor tiskové úlohy pro dokument.
Pokud selže funkce, vrácená hodnota je menší nebo rovna nule.
Poznámky
Tím zajistíte, že dokumenty, které jsou delší než jedna stránka nebude proloženo jiné úlohy.
Pro Windows verze 3.1 a vyšší, tato funkce nahrazuje STARTDOC tiskárny escape.Pomocí této funkce zajistíte dokumenty obsahující více než jednu stránku nejsou proloženo jiné tiskové úlohy.
StartDocvhodné vnitřní metasoubory.
Příklad
Tento fragment kódu získá výchozí tiskárnu, otevře tiskové úlohy a zařadí do fronty jedné stránky s "Hello, World!" v něm.Protože tento kód je vytištěn text velikost neodpovídá logické tiskárny, výstupní text může být v takových malých písmen, výsledkem nečitelný.CDC měřítka funkce, jako například SetMapMode , SetViewportOrg , a SetWindowExt , lze opravit měřítko.
void CDCView::DoStartDoc()
{
// get the default printer
CPrintDialog dlg(FALSE);
dlg.GetDefaults();
// is a default printer set up?
HDC hdcPrinter = dlg.GetPrinterDC();
if (hdcPrinter == NULL)
{
MessageBox(_T("Buy a printer!"));
}
else
{
// create a CDC and attach it to the default printer
CDC dcPrinter;
dcPrinter.Attach(hdcPrinter);
// call StartDoc() to begin printing
DOCINFO docinfo;
memset(&docinfo, 0, sizeof(docinfo));
docinfo.cbSize = sizeof(docinfo);
docinfo.lpszDocName = _T("CDC::StartDoc() Code Fragment");
// if it fails, complain and exit gracefully
if (dcPrinter.StartDoc(&docinfo) < 0)
{
MessageBox(_T("Printer wouldn't initalize"));
}
else
{
// start a page
if (dcPrinter.StartPage() < 0)
{
MessageBox(_T("Could not start page"));
dcPrinter.AbortDoc();
}
else
{
// actually do some printing
CGdiObject* pOldFont = dcPrinter.SelectStockObject(SYSTEM_FONT);
dcPrinter.TextOut(50, 50, _T("Hello World!"), 12);
dcPrinter.EndPage();
dcPrinter.EndDoc();
dcPrinter.SelectObject(pOldFont);
}
}
}
}
Požadavky
Záhlaví: afxwin.h