CView::OnPrint
Chamado pela estrutura para visualizar impressão ou uma página do documento.
virtual void OnPrint(
CDC* pDC,
CPrintInfo* pInfo
);
Parâmetros
pDC
Aponta para o contexto de dispositivos de impressão.pInfo
Os pontos a CPrintInfo estrutura que descreve o trabalho de impressão atual.
Comentários
Para cada página que está sendo impressa, a estrutura chama essa função imediatamente depois de chamar a função de membro de OnPrepareDC . A página que está sendo impressa é especificada pelo membro de m_nCurPage estrutura de CPrintInfo a pInfo que aponta. A implementação padrão chama a função de membro de OnDraw e passe o contexto de dispositivos de impressão.
Substituir essa função para um dos seguintes motivos:
Para permitir imprimir documentos de várias páginas. Processar somente a parte de documento que corresponde à página atualmente sendo impressa. Se você estiver usando OnDraw para executar renderização, você pode ajustar a fonte do viewport de modo que somente a porção apropriada do documento é impressa.
Para fazer a imagem impressa parece diferente da imagem de tela (isto é, se seu aplicativo não é WYSIWYG). Em vez de passar o contexto do dispositivo da impressora OnDraw, use o contexto de dispositivo para processar uma imagem usando atributos não mostrados na tela.
Se você precisar recursos de impressão GDI para que você não usa para a exibição, não estiver marcado no contexto de dispositivo antes de desenhar e anular-los a seleção mais tarde. Esses recursos do GDI devem ser atribuídos em OnBeginPrinting e ser liberados em OnEndPrinting.
Para implementar cabeçalhos ou rodapés. Você ainda pode usar OnDraw para fazer a renderização para a área que pode ser impresso em.
Observe que o membro de m_rectDraw de parâmetro de pInfo descreve a área imprimível de página em unidades lógicas.
Não chamar OnPrepareDC em sua sobrescrita de OnPrint; a estrutura OnPrepareDC automaticamente chama antes de chamar OnPrint.
Exemplo
O exemplo a seguir é um esqueleto para uma função de substituída OnPrint :
void CMyView::OnPrint(CDC *pDC, CPrintInfo *pInfo)
{
UNREFERENCED_PARAMETER(pInfo);
// Print headers and/or footers, if desired.
// Find portion of document corresponding to pInfo->m_nCurPage.
OnDraw(pDC);
}
Para um exemplo, consulte CRichEditView::PrintInsideRect.
Requisitos
Cabeçalho: afxwin.h