Compartilhar via


Estrutura CPrintInfo

Armazena informações sobre um trabalho de impressão ou pré-visualização de impressão.

Sintaxe

struct CPrintInfo

Membros

Métodos públicos

Nome Descrição
CPrintInfo::GetFromPage O número de página da primeira página a ser impressa.
CPrintInfo::GetMaxPage Retorna o número da última página do documento.
CPrintInfo::GetMinPage Retorna o número da primeira página do documento.
CPrintInfo::GetOffsetPage Retorna o número das páginas anteriores à primeira página de um item DocObject que está sendo impresso em um trabalho de impressão DocObject combinado.
CPrintInfo::GetToPage Retorna o número da última página que está sendo impressa.
CPrintInfo::SetMaxPage Define o número da última página do documento.
CPrintInfo::SetMinPage Define o número da primeira página do documento.

Membros de Dados Públicos

Nome Descrição
CPrintInfo::m_bContinuePrinting Contém um sinalizador que indica se a estrutura deve continuar o loop de impressão.
CPrintInfo::m_bDirect Contém um sinalizador que indica se o documento está sendo impresso diretamente (sem exibir a caixa de diálogo Imprimir).
CPrintInfo::m_bDocObject Contém um sinalizador que indica se o documento que está sendo impresso é um DocObject.
CPrintInfo::m_bPreview Contém um sinalizador que indica se o documento está sendo pré-visualizado.
CPrintInfo::m_dwFlags Especifica operações de impressão DocObject.
CPrintInfo::m_lpUserData Retorna um ponteiro para uma estrutura criada pelo usuário.
CPrintInfo::m_nCurPage Identifica o número da página que está sendo impressa.
CPrintInfo::m_nJobNumber Especifica o número do trabalho atribuído pelo sistema operacional para o trabalho de impressão atual
CPrintInfo::m_nNumPreviewPages Identifica o número de páginas exibidas na janela de pré-visualização; 1 ou 2.
CPrintInfo::m_nOffsetPage Especifica o deslocamento da primeira página de um DocObject específico em um trabalho de impressão docObject combinado.
CPrintInfo::m_pPD Contém um ponteiro para o objeto CPrintDialog usado para a caixa de diálogo Imprimir.
CPrintInfo::m_rectDraw Especifica um retângulo que define a área de página utilizável atual.
CPrintInfo::m_strPageDesc Contém uma cadeia de caracteres de formato para exibição de número de página.

Comentários

CPrintInfo é uma estrutura e não tem uma classe base.

A estrutura cria um objeto de CPrintInfo sempre que o comando Print ou Print Preview é escolhido e o destrói quando o comando é concluído.

CPrintInfo contém informações sobre o trabalho de impressão como um todo, como o intervalo de páginas a serem impressas e o status atual do trabalho de impressão, como a página que está sendo impressa no momento. Algumas informações são armazenadas em um objeto CPrintDialog associado; esse objeto contém os valores inseridos pelo usuário na caixa de diálogo Imprimir.

Um objeto CPrintInfo é passado entre a estrutura e a classe de exibição durante o processo de impressão e é usado para trocar informações entre os dois. Por exemplo, a estrutura informa à classe view qual página do documento imprimir atribuindo um valor ao membro m_nCurPage de CPrintInfo; a classe view recupera o valor e executa a impressão real da página especificada.

Outro exemplo é o caso em que o comprimento do documento não é conhecido até que ele seja impresso. Nessa situação, a classe de exibição testa o final do documento sempre que uma página é impressa. Quando o final é atingido, a classe de exibição define o membro m_bContinuePrinting de CPrintInfo como FALSE; isso informa a estrutura para interromper o loop de impressão.

CPrintInfo é usado pelas funções de membro de CView listadas em "Ver também". Para mais informações sobre a arquitetura de impressão fornecida pela biblioteca Microsoft Foundation Class, confira Janelas de Quadro e Arquitetura de Documento/Exibição e os artigos Como imprimir e Como imprimir: documentos de várias páginas.

Hierarquia de herança

CPrintInfo

Requisitos

Cabeçalho: afxext.h

CPrintInfo::GetFromPage

Chame essa função para recuperar o número da primeira página a ser impressa.

UINT GetFromPage() const;

Valor de retorno

O número da primeira página a ser impressa.

Comentários

Esse é o valor especificado pelo usuário na caixa de diálogo Imprimir e é armazenado no objeto CPrintDialog referenciado pelo membro m_pPD. Se o usuário não tiver especificado um valor, o padrão será a primeira página do documento.

CPrintInfo::GetMaxPage

Chame essa função para recuperar o número da última página do documento.

UINT GetMaxPage() const;

Valor de retorno

O número da última página do documento.

Comentários

Esse valor é armazenado no objeto CPrintDialog referenciado pelo membro m_pPD.

CPrintInfo::GetMinPage

Chame essa função para recuperar o número da primeira página do documento.

UINT GetMinPage() const;

Valor de retorno

O número da primeira página do documento.

Comentários

Esse valor é armazenado no objeto CPrintDialog referenciado pelo membro m_pPD.

CPrintInfo::GetOffsetPage

Chame essa função para recuperar o deslocamento ao imprimir vários itens DocObject de um cliente DocObject.

UINT GetOffsetPage() const;

Valor de retorno

O número das páginas anteriores à primeira página de um item DocObject que está sendo impresso em um trabalho de impressão DocObject combinado.

Comentários

Esse valor é referenciado pelo membro m_nOffsetPage. A primeira página do documento será numerada como o valor m_nOffsetPage + 1 quando impressa como um DocObject com outros documentos ativos. O membro m_nOffsetPage só será válido se o valor m_bDocObject for TRUE.

CPrintInfo::GetToPage

Chame essa função para recuperar o número da última página a ser impressa.

UINT GetToPage() const;

Valor de retorno

O número da última página a ser impressa.

Comentários

Esse é o valor especificado pelo usuário na caixa de diálogo Imprimir e é armazenado no objeto CPrintDialog referenciado pelo membro m_pPD. Se o usuário não tiver especificado um valor, o padrão será a última página do documento.

CPrintInfo::m_bContinuePrinting

Contém um sinalizador que indica se a estrutura deve continuar o loop de impressão.

Comentários

Se você estiver fazendo paginação em tempo de impressão, poderá definir esse membro como FALSE em sua substituição de CView::OnPrepareDC quando o final do documento tiver sido atingido. Você não precisará modificar essa variável se tiver especificado o comprimento do documento no início do trabalho de impressão usando a função de membro SetMaxPage. O membro m_bContinuePrinting é uma variável pública do tipo BOOL.

CPrintInfo::m_bDirect

A estrutura define esse membro como TRUE se a caixa de diálogo Imprimir for ignorada para impressão direta; FALSE caso contrário.

Comentários

A caixa de diálogo Imprimir normalmente é ignorada quando você imprime do shell ou quando a impressão é concluída usando a ID de comando ID_FILE_PRINT_DIRECT.

Normalmente, você não altera esse membro, mas se você alterá-lo, altere-o antes de chamar CView::DoPreparePrinting na substituição de CView::OnPreparePrinting.

CPrintInfo::m_bDocObject

Contém um sinalizador que indica se o documento que está sendo impresso é um DocObject.

Comentários

Membros de dados m_dwFlags e m_nOffsetPage serão inválidos, a menos que esse sinalizador seja TRUE.

CPrintInfo::m_bPreview

Contém um sinalizador que indica se o documento está sendo pré-visualizado.

Comentários

Isso é definido pela estrutura dependendo de qual comando o usuário executou. A caixa de diálogo Imprimir não é exibida para um trabalho de pré-visualização de impressão. O membro m_bPreview é uma variável pública do tipo BOOL.

CPrintInfo::m_dwFlags

Contém uma combinação de sinalizadores especificando operações de impressão DocObject.

Comentários

Válido somente se o membro de dados m_bDocObject for TRUE.

Os sinalizadores podem ser um ou mais dos seguintes:

  • PRINTFLAG_MAYBOTHERUSER

  • PRINTFLAG_PROMPTUSER

  • PRINTFLAG_USERMAYCHANGEPRINTER

  • PRINTFLAG_RECOMPOSETODEVICE

  • PRINTFLAG_DONTACTUALLYPRINT

  • PRINTFLAG_FORCEPROPERTIES

  • PRINTFLAG_PRINTTOFILE

CPrintInfo::m_lpUserData

Retorna um ponteiro para uma estrutura criada pelo usuário.

Comentários

Você pode usar isso para armazenar dados específicos de impressão que não deseja armazenar em sua classe de exibição. O membro m_lpUserData é uma variável pública do tipo LPVOID.

CPrintInfo::m_nCurPage

Contém o número da página atual.

Comentários

A estrutura chama CView::OnPrepareDC e CView::OnPrint uma vez para cada página do documento, especificando um valor diferente para esse membro a cada vez; seus valores variam do valor retornado pelo GetFromPage retornado por GetToPage. Use esse membro em suas substituições de CView::OnPrepareDC e CView::OnPrint para imprimir a página especificada do documento.

Quando o modo de pré-visualização é invocado pela primeira vez, a estrutura lê o valor deste membro para determinar qual página do documento deve ser pré-visualizada inicialmente. Você pode definir o valor desse membro em sua substituição de CView::OnPreparePrinting para manter a posição atual do usuário no documento ao entrar no modo de pré-visualização. O membro m_nCurPage é uma variável pública do tipo UINT.

CPrintInfo::m_nJobNumber

Indica o número do trabalho atribuído pelo sistema operacional para o trabalho de impressão atual.

Comentários

Esse valor poderá ser SP_ERROR se o trabalho ainda não tiver sido impresso (ou seja, se o objeto CPrintInfo tiver sido construído recentemente e ainda não tiver sido usado para imprimir) ou se houve um erro ao iniciar o trabalho.

CPrintInfo::m_nNumPreviewPages

Contém o número de páginas exibidas no modo de pré-visualização; pode ser 1 ou 2.

Comentários

O membro m_nNumPreviewPages é uma variável pública do tipo UINT.

CPrintInfo::m_nOffsetPage

Contém o número de páginas anteriores à primeira página de um DocObject específico em um trabalho de impressão do DocObject combinado.

CPrintInfo::m_pPD

Contém um ponteiro para o objeto CPrintDialog usado para exibir a caixa de diálogo Imprimir para o trabalho de impressão.

Comentários

O membro m_pPD é uma variável pública declarada como um ponteiro para CPrintDialog.

CPrintInfo::m_rectDraw

Especifica a área de desenho utilizável da página em coordenadas lógicas.

Comentários

Talvez você queira fazer referência a isso em sua substituição de CView::OnPrint. Você pode usar esse membro para controlar qual área permanece utilizável depois de imprimir cabeçalhos, rodapés etc. O membro m_rectDraw é uma variável pública do tipo CRect.

CPrintInfo::m_strPageDesc

Contém uma cadeia de caracteres de formato usada para exibir os números da página durante a pré-visualização de impressão; essa cadeia de caracteres consiste em duas substrings, uma para exibição de página única e outra para exibição de página dupla, cada uma terminada por um caractere '\n'.

Comentários

A estrutura usa "Página %u\nPáginas %u-%u\n" como o valor padrão. Se você quiser um formato diferente para os números de página, especifique uma cadeia de caracteres de formato em sua substituição de CView::OnPreparePrinting. O membro m_strPageDesc é uma variável pública do tipo CString.

CPrintInfo::SetMaxPage

Chame essa função para especificar o número da última página do documento.

void SetMaxPage(UINT nMaxPage);

Parâmetros

nMaxPage
Número da última página do documento.

Comentários

Esse valor é armazenado no objeto CPrintDialog referenciado pelo membro m_pPD. Se o comprimento do documento for conhecido antes de ser impresso, chame essa função de sua substituição de CView::OnPreparePrinting. Se o comprimento do documento depender de uma configuração especificada pelo usuário na caixa de diálogo Imprimir, chame essa função de sua substituição de CView::OnBeginPrinting. Se o comprimento do documento não for conhecido até que ele seja impresso, use o membro m_bContinuePrinting para controlar o loop de impressão.

Exemplo

Confira o exemplo para CView::OnPreparePrinting.

CPrintInfo::SetMinPage

Chame essa função para especificar o número da primeira página do documento.

void SetMinPage(UINT nMinPage);

Parâmetros

nMinPage
Número da primeira página do documento.

Comentários

Os números de página normalmente começam em 1. Esse valor é armazenado no objeto CPrintDialog referenciado pelo membro m_pPD.

Confira também

DIBLOOK de exemplo do MFC
Gráfico da hierarquia
CView::OnBeginPrinting
CView::OnEndPrinting
CView::OnEndPrintPreview
CView::OnPrepareDC
CView::OnPreparePrinting
CView::OnPrint