Partilhar via


Classe CPrintDialogEx

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Encapsula os serviços prestados pela folha de propriedades de Impressão do Windows.

Sintaxe

class CPrintDialogEx : public CCommonDialog

Membros

Construtores Públicos

Nome Description
CPrintDialogEx::CPrintDialogEx Constrói um CPrintDialogEx objeto.

Métodos Públicos

Nome Description
CPrintDialogEx::CreatePrinterDC Cria um contexto de dispositivo de impressora sem mostrar a caixa de diálogo Imprimir.
CPrintDialogEx::D oModal Mostra a caixa de diálogo e permite ao utilizador fazer seleções.
CPrintDialogEx::GetCopies Recupera o número de cópias solicitadas.
CPrintDialogEx::GetDefaults Recupera os valores predefinidos do dispositivo sem mostrar uma caixa de diálogo.
CPrintDialogEx::GetDeviceName Recupera o nome do dispositivo de impressora atualmente selecionado.
CPrintDialogEx::GetDevMode Recupera a DEVMODE estrutura.
CPrintDialogEx::GetDriverName Recupera o nome do controlador do dispositivo de impressora definido pelo sistema.
CPrintDialogEx::GetPortName Recupera o nome da porta da impressora atualmente selecionada.
CPrintDialogEx::GetPrinterDC Recupera um handle para o contexto do dispositivo da impressora.
CPrintDialogEx::P rintAll Determina se deve imprimir todas as páginas do documento.
CPrintDialogEx::P rintCollate Determina se são solicitadas cópias compiladas.
CPrintDialogEx::P rintCurrentPage Determina se deve imprimir a página atual do documento.
CPrintDialogEx::P rintRange Determina se deve imprimir apenas um intervalo especificado de páginas.
CPrintDialogEx::P rintSelection Determina se deve imprimir apenas os itens atualmente selecionados.

Membros de Dados Públicos

Nome Description
CPrintDialogEx::m_pdex Uma estrutura usada para personalizar um CPrintDialogEx objeto.

Observações

Pode confiar no framework para tratar de muitos aspetos do processo de impressão para a sua aplicação. Para mais informações sobre a utilização da estrutura para lidar com tarefas de impressão, consulte o artigo Impressão.

Se quiseres que a tua aplicação trate da impressão sem o envolvimento do framework, podes usar a CPrintDialogEx classe "como está" com o construtor fornecido, ou podes derivar a tua própria classe CPrintDialogEx de diálogo e escrever um construtor para satisfazer as tuas necessidades. Em qualquer dos casos, estas caixas de diálogo comportar-se-ão como caixas de diálogo padrão MFC porque derivam da classe CCommonDialog.

Para usar um CPrintDialogEx objeto, primeiro cria-o usando o CPrintDialogEx construtor. Depois de construir a caixa de diálogo, pode definir ou modificar quaisquer valores na estrutura m_pdex para inicializar os valores dos controlos da caixa de diálogo. A m_pdex estrutura é do tipo PRINTDLGEX. Para obter mais informações sobre essa estrutura, consulte o SDK do Windows.

Se não fores os teus próprios handles para m_pdex os hDevMode membros and hDevNames , certifica-te de chamar a função GlobalFree Windows para esses handles quando terminares a caixa de diálogo.

Após inicializar os controlos da caixa de diálogo, chame a DoModal função membro para mostrar a caixa de diálogo e permitir que o utilizador selecione opções de impressão. Quando DoModal regressar, pode determinar se o utilizador selecionou o botão OK, Aplicar ou Cancelar.

Se o utilizador pressionar OK, pode usar CPrintDialogExas funções membros de 's para recuperar a informação introduzida pelo utilizador.

A CPrintDialogEx::GetDefaults função membro é útil para recuperar os valores predefinidos atuais da impressora sem apresentar uma caixa de diálogo. Este método não requer qualquer interação do utilizador.

Pode usar a função Windows CommDlgExtendedError para determinar se ocorreu um erro durante a inicialização da caixa de diálogo e para saber mais sobre o erro. Para mais informações sobre esta função, consulte o SDK do Windows.

Para mais informações sobre a utilização CPrintDialogExde , veja Classes Comuns de Diálogo.

Hierarquia de herança

CObject

CCmdTarget

CWnd

CDialog

IObjectWithSite

IPrintDialogCallback

CCommonDialog

CPrintDialogEx

Requerimentos

Cabeçalho: afxdlgs.h

CPrintDialogEx::CPrintDialogEx

Constrói uma folha de propriedades de Impressão do Windows.

CPrintDialogEx(
    DWORD dwFlags = PD_ALLPAGES | PD_USEDEVMODECOPIES | PD_NOPAGENUMS       | PD_HIDEPRINTTOFILE | PD_NOSELECTION | PD_NOCURRENTPAGE,
    CWnd* pParentWnd = NULL);

Parâmetros

dwBandeiras
Uma ou mais flags podes usar para personalizar as definições da caixa de diálogo, combinados com o operador OR bit a bit. Por exemplo, a flag PD_ALLPAGES define o intervalo de impressão padrão para todas as páginas do documento. Consulte a estrutura PRINTDLGEX no SDK do Windows para mais informações sobre estas bandeiras.

pParentWnd
Um apontador para a janela pai ou proprietária da caixa de diálogo.

Observações

Esta função membro apenas constrói o objeto. Use a DoModal função de membro para mostrar a caixa de diálogo.

CPrintDialogEx::CreatePrinterDC

Cria um contexto de dispositivo de impressora (DC) a partir das estruturas DEVMODE e DEVNAMES .

HDC CreatePrinterDC();

Valor de retorno

Handle para o contexto do dispositivo de impressora recém-criado.

Observações

O DC devolvido também é armazenado no hDC membro de m_pdex.

Assume-se que este DC é o DC atual da impressora, e quaisquer outros DCs de impressora previamente obtidos devem ser eliminados. Esta função pode ser chamada, e o DC resultante usado, sem nunca mostrar a caixa de diálogo Imprimir.

CPrintDialogEx::D oModal

Chame esta função para mostrar a folha de propriedades de Impressão do Windows e permita ao utilizador selecionar várias opções de impressão, como o número de cópias, o intervalo de páginas e se as cópias devem ser agrupadas.

virtual INT_PTR DoModal();

Valor de retorno

O valor INT_PTR retorno é, na verdade, um HRESULT. Consulte a secção Valores de Retorno no PrintDlgEx no SDK do Windows.

Observações

Se quiseres inicializar as várias opções de diálogo de impressão definindo membros da m_pdex estrutura, deves fazê-lo antes de chamar DoModal, mas depois de o objeto de diálogo estar construído.

Depois de chamar DoModal, pode chamar outras funções membros para recuperar as definições ou informações introduzidas pelo utilizador na caixa de diálogo.

Se a flag de PD_RETURNDC for usada ao chamar DoModal, um DC de impressora será devolvido no hDC membro de m_pdex. Este DC deve ser libertado com uma chamada ao DeleteDC pelo chamador de CPrintDialogEx.

CPrintDialogEx::GetCopies

Chame esta função depois de chamar DoModal para recuperar o número de cópias solicitadas.

int GetCopies() const;

Valor de retorno

O número de cópias solicitadas.

CPrintDialogEx::GetDefaults

Chame esta função para recuperar os valores predefinidos do dispositivo na impressora predefinida sem apresentar uma caixa de diálogo.

BOOL GetDefaults();

Valor de retorno

VERDADEIRO se for bem-sucedido, caso contrário FALSO.

Observações

Cria um contexto de dispositivo de impressora (DC) a partir das estruturas DEVMODE e DEVNAMES .

GetDefaults não mostra a folha de propriedades Imprimir. Em vez disso, define os hDevNames membros e hDevMode de m_pdex para os handles nas estruturas DEVMODE e DEVNAMES que são inicializadas para a impressora padrão do sistema. Ambos hDevNames e hDevMode devem ser NULL, ou GetDefaults falham.

Se a flag de PD_RETURNDC estiver definida, esta função não só devolverá hDevNames e hDevMode (localizado em m_pdex.hDevNames e m_pdex.hDevMode) ao chamador, como também devolverá um DC da impressora em m_pdex.hDC. É responsabilidade do chamador eliminar o DC da impressora e chamar a função GlobalFree do Windows nos handles quando terminar com o CPrintDialogEx objeto.

CPrintDialogEx::GetDeviceName

Chame esta função depois de chamar DoModal para recuperar o nome da impressora atualmente selecionada, ou depois de chamar GetDefaults para recuperar o nome da impressora predefinida.

CString GetDeviceName() const;

Valor de retorno

O nome do impressor atualmente selecionado.

Observações

Use um ponteiro para o CString objeto devolvido por GetDeviceName como valor de lpszDeviceName numa chamada para CDC::CreateDC.

CPrintDialogEx::GetDevMode

Chame esta função depois de chamar o DoModal ou o GetDefaults para obter informações sobre o dispositivo de impressão.

LPDEVMODE GetDevMode() const;

Valor de retorno

A estrutura de dados DEVMODE , que contém informação sobre a inicialização do dispositivo e o ambiente de um driver de impressão. Deve desbloquear a memória ocupada por esta estrutura com a função Windows GlobalLock , que é descrita no SDK do Windows.

CPrintDialogEx::GetDriverName

Chame esta função após chamar DoModal ou GetDefaults para recuperar o nome do controlador do dispositivo de impressora definido pelo sistema.

CString GetDriverName() const;

Valor de retorno

A CString especificar o nome do driver definido pelo sistema.

Observações

Use um ponteiro para o CString objeto devolvido como GetDriverName valor de lpszDriverName numa chamada para CDC::CreateDC.

CPrintDialogEx::GetPortName

Chame esta função após chamar DoModal ou GetDefaults para recuperar o nome da porta da impressora atualmente selecionada.

CString GetPortName() const;

Valor de retorno

O nome da porta da impressora atualmente selecionada.

CPrintDialogEx::GetPrinterDC

Devolve um handle ao contexto do dispositivo de impressora.

HDC GetPrinterDC() const;

Valor de retorno

Um handle para o contexto do dispositivo de impressora.

Observações

Deve chamar a função DeleteDC do Windows para eliminar o contexto do dispositivo quando terminar de o usar.

CPrintDialogEx::m_pdex

Uma estrutura PRINTDLGEX cujos membros armazenam as características do objeto de diálogo.

PRINTDLGEX m_pdex;

Observações

Depois de construir um CPrintDialogEx objeto, pode usar m_pdex para definir vários aspetos da caixa de diálogo antes de chamar a função membro DoModal . Para mais informações sobre a m_pdex estrutura, consulte PRINTDLGEX no SDK do Windows.

Se modificar diretamente o m_pdex membro de dados, irá sobrepor qualquer comportamento padrão.

CPrintDialogEx::P rintAll

Chame esta função após a chamada DoModal para determinar se deve imprimir todas as páginas do documento.

BOOL PrintAll() const;

Valor de retorno

TRUE se todas as páginas do documento forem para ser impressas; caso contrário, FALSO.

CPrintDialogEx::P rintCollate

Chame esta função após a chamada DoModal para determinar se a impressora deve compilar todas as cópias impressas do documento.

BOOL PrintCollate() const;

Valor de retorno

TRUE se o utilizador selecionar a caixa de seleção de colate na caixa de diálogo; caso contrário, FALSO.

CPrintDialogEx::P rintCurrentPage

Chame esta função após a chamada DoModal para determinar se deve imprimir a página atual no documento.

BOOL PrintCurrentPage() const;

Valor de retorno

TRUE se Imprimir Página Atual estiver selecionada no diálogo de impressão; caso contrário, FALSO.

CPrintDialogEx::P rintRange

Chame esta função depois de chamar DoModal para determinar se deve imprimir apenas um intervalo de páginas no documento.

BOOL PrintRange() const;

Valor de retorno

TRUE se apenas um intervalo de páginas do documento for impresso; caso contrário, FALSO.

Observações

Os intervalos de páginas especificados podem ser determinados a partir de m_pdex (ver nPageRanges, nMaxPageRanges, e lpPageRanges na estrutura PRINTDLGEX no SDK do Windows).

CPrintDialogEx::P rintSelection

Chame esta função depois de chamar DoModal para determinar se deve imprimir apenas os itens atualmente selecionados.

BOOL PrintSelection() const;

Valor de retorno

TRUE se apenas os itens selecionados forem impressos; caso contrário, FALSO.

Consulte também

Classe CCommonDialog
Gráfico de Hierarquia
Estrutura CPrintInfo