Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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