Sdílet prostřednictvím


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

Viz také

Referenční dokumentace

Třída Nemocnosti

Graf hierarchie

CDC::escape

CDC::EndDoc

CDC::AbortDoc