CPrintDialog

A classe de CPrintDialog encapsula os serviços fornecidos pela caixa de diálogo comum do Windows para impressão. Caixas de caixa de diálogo impressão ComComumComum fornecem maneira fácil implementar caixas de diálogo Imprimir e Configurar impressão de maneira consistente ComComum os padrões do Windows.

Se desejar, você pode contar com estrutura para lidar com muitos aspectos do processo de impressão para o seu aplicativo. Neste caso, a estrutura automaticamente exibe a caixa de diálogo comum do Windows para impressão. Você também pode ter o identificador de estrutura impressão para o seu aplicativo mas substituir caixa de diálogo de impressão comum com sua própria caixa de diálogo de impressão. Para obter mais informações sobre como usar o quadro para lidar com tarefas de impressão, consulte o artigo impressão no Guia do programador do Visual C++.

Se você quiser que seu aplicativo para manipular impressão sem o envolvimento a estrutura, você pode usar a classe de CPrintDialog "como estão" com o construtor fornecido, ou você pode derivar sua própria classe de caixa de diálogo de CPrintDialog e gravar um construtor para atender às suas necessidades. Em qualquer caso, essas caixas de diálogo comportará como padrão caixas de diálogo do MFC porque eles são derivados da classe CCommonDialog.

Para usar um objeto de CPrintDialog , primeiro crie o objeto usando o Construtor de CPrintDialog . Uma vez que a caixa de diálogo tiver sido criada, você pode definir ou modificar quaisquer valores na estrutura de m_pd para inicializar os valores dos controles da caixa de diálogo. A estrutura de m_pd é do tipo PRINTDLG. Para obter mais informações sobre essa estrutura, consulte a documentação do Win32 SDK.

Se você não fornecer seus próprio handles em m_pd para o hDevMode e hDevNames Membros, certifique-se de chamar a função de Windows GlobalFree para esses identificadores quando tiver terminado com a caixa de diálogo. Ao usar a configuração de impressão implementação estrutura fornecida pelo CWinApp::OnFilePrintSetup, você não precisará livre essas alças. As alças são mantidas pelo CWinApp e são liberadas em CWinAppdo destruidor. Só é necessário para livre essas alças ao usar CPrintDialog autônomo.

Após inicializar os controles de caixa de diálogo, chame a função de membro DoModal para exibir a caixa de diálogo e permitir que o usuário selecionar opções de impressão. DoModal retorna se o usuário selecionou OK (IDOK) ou botão Cancelar (IDCANCEL).

Se DoModal retorna IDOK, você pode usar uma das funções de membro CPrintDialogpara recuperar as informações entrada pelo usuário.

A função de membro GetDefaults é útil para recuperar o padrãatual de impressora sem exibir uma caixa de diálogo. Esta função de membro não requer nenhuma interação do usuário.

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

CPrintDialog depende o COMMDLG.Arquivo DLL que acompanha o Windows versões 3.1 e posteriores.

Para personalizar a caixa de diálogo, derive uma classe de CPrintDialog, fornecer um modelo de diálogo personalizada e adicionar um mapa da mensagem para Processoar as mensagens de notificação dos controles estendidos. As mensagens não processadas devem ser repassadas para a classe base. Personalizando a função do gancho não é necessária.

Para Processoar a mesma mensagem de forma diferente, dependendo de se a caixa de diálogo é imprimir ou Configurar impressão, você deve derivar uma classe para cada caixa de diálogo. Você também deve substituir o Windows AttachOnSetup função, que manipula a criação de uma nova caixa de diálogo quando a configuração da impressão é selecionado dentro de uma caixa de diálogo Imprimir.

Para obter mais informações sobre o uso CPrintDialog, consulte Classes de caixa de diálogo comum no Guia do programador do Visual C++.

# include lt;afxdlgs.h>

Membros da classe |nbsp; Classe base | Gráfico de hierarquia

Amostra  MFC exemplo DIBLOOK

Co&nsulte tambémnbsp;CPrintInfo

Index