Compartilhar via


CView::OnPreparePrinting

Chamado pela estrutura antes que um documento é impresso ou visualizado.

virtual BOOL OnPreparePrinting( 
   CPrintInfo* pInfo  
);

Parâmetros

  • pInfo
    Os pontos a CPrintInfo estrutura que descreve o trabalho de impressão atual.

Valor de retorno

Diferente de zero para iniciar a impressão; 0 se o trabalho de impressão foram canceladas.

Comentários

A implementação padrão não fará nada.

Você deve substituir essa função para ativar a impressão e a visualização de impressão. Chame a função de membro de DoPreparePrinting , passando o parâmetro de pInfo , e depois retorne seu valor de retorno; DoPreparePrinting exibe a caixa de diálogo de impressão e cria um contexto de dispositivos de impressão. Se você deseja inicializar a caixa de diálogo de impressão com valores diferentes de opções, atribuir valores aos membros de pInfo. Por exemplo, se você souber o comprimento do documento, passar o valor à função de membro de SetMaxPage de pInfo antes de chamar DoPreparePrinting. Esse valor é exibido no: a caixa na parte do intervalo de diálogo de impressão.

DoPreparePrinting não exibe a caixa de diálogo de impressão para um trabalho de visualização. Se você desejar ignorar a caixa de diálogo de impressão para um trabalho de impressão, verifique que o membro de m_bPreview de pInfo é Falso e defina à Verdadeiro antes de passar a DoPreparePrinting; redefinir-lo a Falso mais tarde.

Se você precisar executar as inicializações que exigem acesso ao objeto de CDC que representa o contexto do dispositivo de impressora (por exemplo, se você precisar saber o tamanho da página antes de especificar o tamanho do documento), substitua a função de membro de OnBeginPrinting .

Se você desejar definir o valor de membros de m_nNumPreviewPages ou de m_strPageDesc de parâmetro de pInfo , faça isso após chamar DoPreparePrinting. A função de membro de DoPreparePrinting define m_nNumPreviewPages para o valor encontrado no arquivo .ini do aplicativo e defina m_strPageDesc ao seu valor padrão.

Exemplo

Substitua OnPreparePrinting e chamar DoPreparePrinting de substituição para que a estrutura exibe uma caixa de diálogo e criar uma C.C. de impressão para você.

BOOL CMyEditView::OnPreparePrinting(CPrintInfo* pInfo)
{
   return CEditView::DoPreparePrinting(pInfo);
}

Se você souber quantas páginas o documento contém, defina a página máximo em OnPreparePrinting antes de chamar DoPreparePrinting. A estrutura exibirá o número máximo de página em “” na caixa de diálogo de impressão.

BOOL CExampleView::OnPreparePrinting(CPrintInfo* pInfo)
{
   //The document has 2 pages.
   pInfo->SetMaxPage(2);
   return CView::DoPreparePrinting(pInfo);
}

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

Classe CView

Gráfico da hierarquia

Estrutura CPrintInfo

CView::DoPreparePrinting

CView::OnBeginPrinting

CView::OnPrepareDC

CView::OnPrint