CDC::StartDoc

Informa o driver de dispositivo que está iniciando um novo trabalho de impressão e que todos os subseqüentes StartPage e EndPage chamadas devem ser colocada no spool sob o mesmo trabalho até uma EndDoc ocorre a telefonar.

int StartDoc(
   LPDOCINFO lpDocInfo 
);
int StartDoc(
   LPCTSTR lpszDocName 
);

Parâmetros

  • lpDocInfo
    Aponta para um DOCINFO estrutura contendo o nome do arquivo de documento e o nome do arquivo de saída.

  • lpszDocName
    Ponteiro para uma seqüência de caracteres que contém o nome do arquivo de documento.

Valor de retorno

Se a função obtiver êxito, o valor retornado é maior que zero.Esse valor é o identificador do trabalho de impressão do documento.

Se a função falhar, o valor retornado é menor ou igual a zero.

Comentários

Isso garante que mais de uma página de documentos não serão ser intercalados com outros trabalhos.

Para Windows versões 3.1 e posteriores, essa função substitui o STARTDOC escape de impressora.Usar esta função garante que documentos que contêm mais de uma página não são intercalados com os outros trabalhos de impressão.

StartDoc não deve ser usado dentro de metarquivos.

Exemplo

Este fragmento de código obtém a impressora padrão, abre um trabalho de impressão e faz o spooling de uma página com "Hello, World!" nele.Porque o texto impresso por esse código não é dimensionado para unidades lógicas da impressora, o texto de saída pode estar em tais letras minúsculas que o resultado é ilegível.CDC dimensionamento funções, sistema autônomo SetMapMode, SetViewportOrg, e SetWindowExt, pode ser usado para corrigir o dimensionamento.

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);
        }
      }
   }
}

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

Classe CDC

Gráfico de hierarquia

CDC::Escape

CDC::EndDoc

CDC::AbortDoc

Outros recursos

Membros do CDC