Classe CPrintDialogEx
Encapsula os serviços fornecidos pela folha de propriedades de Impressão do Windows.
Sintaxe
class CPrintDialogEx : public CCommonDialog
Membros
Construtores públicos
Nome | Descrição |
---|---|
CPrintDialogEx::CPrintDialogEx | Constrói um objeto CPrintDialogEx . |
Métodos públicos
Nome | Descrição |
---|---|
CPrintDialogEx::CreatePrinterDC | Cria um contexto de dispositivo de impressora sem exibir a caixa de diálogo Imprimir. |
CPrintDialogEx::DoModal | Exibe a caixa de diálogo e permite que o usuário faça seleções. |
CPrintDialogEx::GetCopies | Recupera o número de cópias solicitadas. |
CPrintDialogEx::GetDefaults | Recupera os padrões do dispositivo sem exibir uma caixa de diálogo. |
CPrintDialogEx::GetDeviceName | Recupera o nome do dispositivo de impressora selecionado no momento. |
CPrintDialogEx::GetDevMode | Recupera a estrutura DEVMODE . |
CPrintDialogEx::GetDriverName | Recupera o nome do driver de dispositivo de impressora definido pelo sistema. |
CPrintDialogEx::GetPortName | Recupera o nome da porta da impressora selecionada no momento. |
CPrintDialogEx::GetPrinterDC | Recupera um identificador para o contexto do dispositivo de impressora. |
CPrintDialogEx::PrintAll | Determina se todas as páginas do documento devem ser impressas. |
CPrintDialogEx::PrintCollate | Determina se as cópias agrupadas são solicitadas. |
CPrintDialogEx::PrintCurrentPage | Determina se a página atual do documento deve ser impressa. |
CPrintDialogEx::PrintRange | Determina se é necessário imprimir apenas um intervalo de páginas especificado. |
CPrintDialogEx::PrintSelection | Determina se os itens selecionados no momento devem ser impressos. |
Membros de Dados Públicos
Nome | Descrição |
---|---|
CPrintDialogEx::m_pdex | Uma estrutura usada para personalizar um objeto CPrintDialogEx . |
Comentários
Você pode contar com a estrutura para lidar com muitos aspectos do processo de impressão para seu aplicativo. Para mais informações sobre como usar a estrutura para lidar com tarefas de impressão, confira o artigo Como imprimir.
Se você quiser que seu aplicativo manipule a impressão sem o envolvimento da estrutura, você pode usar a classe CPrintDialogEx
"no estado em que se encontra" com o construtor fornecido ou derivar sua classe de diálogo de CPrintDialogEx
e escrever um construtor para atender às suas necessidades. Em ambos os casos, essas caixas de diálogo se comportarão como caixas de diálogo MFC padrão porque são derivadas da classe CCommonDialog
.
Para usar um objeto CPrintDialogEx
, primeiro crie o objeto usando o construtor CPrintDialogEx
. Depois que a caixa de diálogo for construída, você poderá definir ou modificar valores na estrutura m_pdex para inicializar os valores dos controles da caixa de diálogo. A estrutura m_pdex
é do tipo PRINTDLGEX. Para obter mais informações sobre essa estrutura, confira o SDK do Windows.
Se você não fornecer identificadores próprios em m_pdex
para os membros hDevMode
e hDevNames
, chame a função GlobalFree
do Windows para esses identificadores quando terminar de usar a caixa de diálogo.
Depois de inicializar os controles da caixa de diálogo, chame a função de membro DoModal
para exibir a caixa de diálogo e permitir que o usuário selecione opções de impressão. Quando DoModal
retorna, você pode determinar se o usuário selecionou o botão OK, Aplicar ou Cancelar.
Se o usuário pressionou OK, você pode usar as funções de membro do CPrintDialogEx
para recuperar as informações fornecidas pelo usuário.
A função de membro CPrintDialogEx::GetDefaults
é útil para recuperar os padrões atuais da impressora sem exibir uma caixa de diálogo. Esse método não requer interação do usuário.
Você pode usar a função CommDlgExtendedError
do Windows para determinar se ocorreu um erro durante a inicialização da caixa de diálogo e saber mais sobre o erro. Para obter mais informações sobre essa função, confira o SDK do Windows.
Para obter mais informações sobre como usar CPrintDialogEx
, confira Classes de diálogo comuns.
Hierarquia de herança
IObjectWithSite
IPrintDialogCallback
CPrintDialogEx
Requisitos
Cabeçalho: afxdlgs.h
CPrintDialogEx::CPrintDialogEx
Constrói uma folha de propriedades do Windows Print.
CPrintDialogEx(
DWORD dwFlags = PD_ALLPAGES | PD_USEDEVMODECOPIES | PD_NOPAGENUMS | PD_HIDEPRINTTOFILE | PD_NOSELECTION | PD_NOCURRENTPAGE,
CWnd* pParentWnd = NULL);
Parâmetros
dwFlags
Um ou mais sinalizadores que você pode usar para personalizar as configurações da caixa de diálogo, combinados usando o operador OR bit a bit. Por exemplo, o sinalizador PD_ALLPAGES define o intervalo de impressão padrão para todas as páginas do documento. Confira a estrutura PRINTDLGEX no SDK do Windows para obter informações sobre esses sinalizadores.
pParentWnd
Um ponteiro para a janela pai ou proprietária da caixa de diálogo.
Comentários
Essa função de membro só constrói o objeto. Use a função de membro DoModal
para exibir a caixa de diálogo.
CPrintDialogEx::CreatePrinterDC
Cria um DC (contexto de dispositivo) de impressora das estruturas DEVMODE e DEVNAMES.
HDC CreatePrinterDC();
Valor de retorno
Identificador para o contexto de dispositivo de impressora que acaba de ser criado.
Comentários
O DC retornado também é armazenado no membro hDC
do m_pdex.
Supõe-se que esse DC seja o DC da impressora atual e todos os outros DCs de impressora obtidos anteriormente devem ser excluídos. Essa função pode ser chamada e o DC resultante pode ser usado sem nunca exibir a caixa de diálogo Imprimir.
CPrintDialogEx::DoModal
Chame esta função para exibir a folha de propriedades Windows Print e permita que o usuário selecione 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 retornado INT_PTR é, na verdade, um HRESULT. Confira a seção Valores Retornados no PrintDlgEx no SDK do Windows.
Comentários
Se você quiser inicializar as várias opções de diálogo de impressão definindo membros da estrutura m_pdex
, faça isso antes de chamar DoModal
, mas depois que o objeto de caixa de diálogo tiver sido construído.
Depois de chamar DoModal
, você poderá chamar outras funções de membro para recuperar as configurações ou a entrada de informações do usuário na caixa de diálogo.
Se o sinalizador PD_RETURNDC for usado ao chamar DoModal
, um DC de impressora será retornado no membro hDC
do m_pdex. Esse DC deve ser liberado com uma chamada para DeleteDC pelo chamador de CPrintDialogEx
.
CPrintDialogEx::GetCopies
Chame essa 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 padrões do dispositivo da impressora padrão, sem exibir uma caixa de diálogo.
BOOL GetDefaults();
Valor de retorno
TRUE, se tiver êxito. Caso contrário, FALSE.
Comentários
Cria um DC (contexto de dispositivo) de impressora das estruturas DEVMODE e DEVNAMES.
GetDefaults
não exibe a folha de propriedades Imprimir. Em vez disso, ele define os membros hDevNames
e hDevMode
do m_pdex, para tratar as estruturas DEVMODE e DEVNAMES inicializadas para a impressora padrão do sistema. Ambos hDevNames
e hDevMode
devem ser NULL ou GetDefaults
falhará.
Se o sinalizador PD_RETURNDC estiver definido, essa função não só retornará hDevNames
e hDevMode
(localizados em m_pdex.hDevNames
e m_pdex.hDevMode
) para o chamador, como também retornará um DC de impressora em m_pdex.hDC
. É responsabilidade do chamador excluir o DC da impressora e chamar a função GlobalFree do Windows nos identificadores quando terminar de usar o objeto CPrintDialogEx
.
CPrintDialogEx::GetDeviceName
Chame essa função depois de chamar DoModal para recuperar o nome da impressora selecionada no momento ou depois de chamar GetDefaults para recuperar o nome da impressora padrão.
CString GetDeviceName() const;
Valor de retorno
O nome da impressora selecionada no momento.
Comentários
Use um ponteiro para o objeto CString
retornado por GetDeviceName
como o valor de lpszDeviceName
em uma chamada para CDC::CreateDC.
CPrintDialogEx::GetDevMode
Chame essa função depois de chamar DoModal ou GetDefaults para recuperar informações sobre o dispositivo de impressão.
LPDEVMODE GetDevMode() const;
Valor de retorno
A estrutura de dados DEVMODE, que contém informações sobre a inicialização do dispositivo e o ambiente de um driver de impressão. Você deve desbloquear a memória obtida por essa estrutura com a função GlobalUnlock do Windows, que é descrita no SDK do Windows.
CPrintDialogEx::GetDriverName
Chame essa função depois de chamar DoModal ou GetDefaults para recuperar o nome do driver de dispositivo de impressora definido pelo sistema.
CString GetDriverName() const;
Valor de retorno
Um CString
especificando o nome do driver definido pelo sistema.
Comentários
Use um ponteiro para o objeto CString
retornado por GetDriverName
como o valor de lpszDriverName em uma chamada para CDC::CreateDC.
CPrintDialogEx::GetPortName
Chame essa função depois de chamar DoModal ou GetDefaults para recuperar o nome da porta da impressora selecionada no momento.
CString GetPortName() const;
Valor de retorno
O nome da porta da impressora selecionada no momento.
CPrintDialogEx::GetPrinterDC
Retorna um identificador para o contexto do dispositivo de impressora.
HDC GetPrinterDC() const;
Valor de retorno
Um identificador para o contexto do dispositivo de impressora.
Comentários
Você deve chamar a função DeleteDC do Windows para excluir o contexto do dispositivo quando terminar de usá-lo.
CPrintDialogEx::m_pdex
Uma estrutura PRINTDLGEX cujos membros armazenam as características do objeto de caixa de diálogo.
PRINTDLGEX m_pdex;
Comentários
Depois de construir um objeto CPrintDialogEx
, você poderá usar m_pdex
para definir vários aspectos da caixa de diálogo antes de chamar a função de membro DoModal. Para mais informações sobre a estrutura m_pdex
, confira PRINTDLGEX no SDK do Windows.
Se você modificar o membro de dados m_pdex
diretamente, substituirá qualquer comportamento padrão.
CPrintDialogEx::PrintAll
Chame essa função depois de chamar DoModal
para determinar se todas as páginas devem ser impressas no documento.
BOOL PrintAll() const;
Valor de retorno
TRUE, se todas as páginas no documento devem ser impressas. Caso contrário, FALSE.
CPrintDialogEx::PrintCollate
Chame essa função depois de chamar DoModal
para determinar se a impressora deve reunir todas as cópias impressas do documento.
BOOL PrintCollate() const;
Valor de retorno
TRUE, se o usuário marcar caixa de seleção de agrupamento na caixa de diálogo. Caso contrário, FALSE.
CPrintDialogEx::PrintCurrentPage
Chame essa função depois de chamar DoModal
para determinar se a página atual deve ser impressa no documento.
BOOL PrintCurrentPage() const;
Valor de retorno
TRUE, se a Página Atual de Impressão foi selecionada na caixa de diálogo de impressão. Caso contrário, FALSE.
CPrintDialogEx::PrintRange
Chame essa função depois de chamar DoModal
para determinar se deseja imprimir apenas um intervalo de páginas no documento.
BOOL PrintRange() const;
Valor de retorno
TRUE, se apenas um intervalo de páginas no documento deve ser impresso. Caso contrário, FALSE.
Comentários
Os intervalos de página especificados podem ser determinados em m_pdex (confira nPageRanges
, nMaxPageRanges
e lpPageRanges
na estrutura PRINTDLGEX no SDK do Windows).
CPrintDialogEx::PrintSelection
Chame essa função depois de chamar DoModal
para determinar se você deseja imprimir apenas os itens selecionados no momento.
BOOL PrintSelection() const;
Valor de retorno
TRUE, se apenas os itens selecionados devem ser impressos. Caso contrário, FALSE.
Confira também
Classe CCommonDialog
Gráfico da hierarquia
Estrutura CPrintInfo