Personalizando a folha de propriedades de impressão
[Esta é a documentação preliminar e estão sujeitos a alterações.]
Você pode personalizar a folha de propriedades de impressão das seguintes maneiras:
Fornece um modelo Personalizar para a parte inferior da página Geral . Isso permite que você incluir controles adicionais que são exclusivos do seu aplicativo. A função PrintDlgEx usa o modelo personalizado no local do modelo padrão.
Fornecer páginas de propriedades adicionais a seguir a página Geral.
Você não pode alterar a parte superior da página Geral . Você não pode alterar páginas de propriedade fornecidas pelo driver de impressora.
Para fornecer um modelo Personalizar para a página de geral
Crie um modelo Personalizar para a parte inferior da página Geral , modificando o modelo PRINTDLGEXORD especificado no PRNSETUP.Arquivo de DLG. O modelo personalizado deve ser do mesmo tamanho que o modelo padrão. Os identificadores de Controlarar usados no modelo de caixa de diálogo de impressão padrão são definidos na DLGS.Arquivo H.
Use a estrutura PRINTDLGEX para habilitar o modelo de como segue:
Se o modelo personalizado é um recurso em um aplicativo ou dynamic-link library, defina o sinalizador PD_ENABLEPRINTTEMPLATE na sinalizadores membro. Use o hInstance e lpPrintTemplateName Membros da estrutura para identificar o nome do módulo e recurso.
- Ou -
Se seu modelo personalizado já está na memória, defina o sinalizador PD_ENABLEPRINTTEMPLATEHANDLE. Use o hInstance membro para identificar o objeto de memória que contém o modelo.
Se você usar um modelo personalizado para definir controles adicionais, você deve fornecer um objeto de retorno de chamada para processar a entrada para seus controles. O objeto de retorno de chamada implementa um método IPrintDialogCallback::HandleMessage que recebe as mensagens enviadas para a caixa de diálogo personalizada.
Use o lphPropertyPages membro da estrutura PRINTDLGEX para especificar uma matriz de identificadores para as páginas adicionais.
Os procedimentos de caixa de diálogo especificados quando você criou cada página processam as mensagens enviadas para as páginas.
Talvez você queira fornecer um objeto de retorno de chamada que implementa o interface IObjectWithSite . A função PrintDlgEx usa esta interface para passar para o aplicativo um ponteiro para uma interface de IPrintDialogServices . As regras de caixa de diálogo de páginas de propriedades adicionais podem usar esta interface para recuperar informações sobre a impressora selecionada no momento.