Caixa de diálogo Imprimir

A caixa de diálogo Imprimir permite que o usuário selecionar opções para um determinado trabalho de impressão. Por exemplo, o usuário pode especificar o número de cópias, o intervalo de páginas a imprimir e a impressora para usar.

Windows NT 5.0 e posterior: Você pode usar a função PrintDlgEx para exibir uma folha de propriedades de impressão , que tem uma página Geral contendo controles similares à caixa de diálogo Imprimir . A folha também pode ter páginas de propriedades adicionais específicas do aplicativo e específicos de driver após a página Geral.

Criar e exibir uma caixa de diálogo Imprimir , ao inicializar uma estrutura PRINTDLG e passando a estrutura para o PrintDlg função.

A ilustração a seguir mostra uma típica caixa de diálogo Imprimir.

Se o usuário clicar no botão OK , PrintDlg retorna TRUE e usa o PRINTDLG estrutura para retornar informações sobre seleções do usuário. Por exemplo, o hDevMode e hDevNames Membros normalmente retornam alças de memória global de DEVMODE de DEVNAMES estruturas. Você pode usar as informações nessas estruturas para criar um contexto de informações ou um contexto para dispositivo para a impressora selecionada.

Se o usuário cancela caixa de diálogo Imprimir ou ocorre um erro, PrintDlg retorna FALSE. Você pode determinar a causa de um erro usando o CommDlgExtendedError função para recuperar o valor de erro estendido.

A caixa de diálogo de impressão inclui um grupo de Intervalo de impressão de botões de rádio que indicam se o usuário deseja imprimir todas as páginas, um intervalo de páginas ou apenas o texto selecionado. Antes de chamar PrintDlg, você pode definir um dos sinalizadores PD_ALLPAGES, PD_SELECTION ou PD_PAGENUMS para indicar que inicialmente é selecionado. Quando PrintDlg retorna TRUE, a função define um desses sinalizadores para indicar as seleções do usuário. Se PD_PAGENUMS for definido, o nFromPage e nToPage Membros da estrutura PRINTDLG contêm o inicial e final de páginas especificadas pelo usuário. Para desativar o botão de opção páginas e seus associados de e para controles de Editarar, defina o sinalizador PD_NOPAGENUMS. Para desabilitar o seleção botão de opção, defina o sinalizador PD_NOSELECTION.

A caixa de diálogo inclui um Controlarar de editar na qual o usuário pode digitar o número de cópias a serem impressas. Se o membro hDevMode o PRINTDLG estrutura é não-NULL, o membro dmCopies a DEVMODE estrutura especifica o valor inicial para esse Controlarar de editar. Se hDevMode é NULL, o nCopies membro da estrutura PRINTDLG especifica o valor inicial. Quando PrintDlg retorna, nCopies geralmente indica o número de exemplares especificado pelo usuário. No entanto, se você definir o Sinalizar PD_USEDEVMODECOPIESANDCOLLATE quando você cria a caixa de diálogo, nCopies é sempre definido como 1 no retorno e o dmCopies membro das DEVMODE indica o número de cópias a imprimir.

A caixa de seleção Agrupar indica se o usuário deseja agrupar as páginas se várias cópias estão sendo impressos. O sinalizador PD_COLLATE é definido se a caixa de verificação Agrupar está marcada. Se seu aplicativo não oferece suporte a várias cópias ou agrupamento simulado, defina o sinalizador PD_USEDEVMODECOPIESANDCOLLATE in o sinalizadores membro da estrutura PRINTDLG . Isso desativa a caixa de seleção Agrupar e Controlarar de editar o Número de cópias a menos que o driver de impressora oferece suporte a várias cópias e agrupamento.

A caixa de verificação Imprimir para ficheiro indica se o usuário deseja enviar a saída para um arquivo em vez de uma impressora. Você pode definir o sinalizador PD_PRINTTOFILE para a caixa de seleção estiver marcada inicialmente. Para ocultar a caixa de seleção, defina o sinalizador PD_HIDEPRINTTOFILE. Para desativá-lo, defina o sinalizador PD_DISABLEPRINTTOFILE. Se o usuário seleciona a opção Imprimir em arquivo , PrintDlg define o Sinalizar PD_PRINTTOFILE e retorna "arquivo:" o deslocamento indicado pelo membro wOutputOffset da estrutura DEVNAMES . Quando você chamar o StartDoc função para iniciar a operação de impressão, especificar este "arquivo:" Cadeia de caracteres in a lpszOutput membro do DOCINFO estrutura. Especificar essa Cadeia de caracteres faz com que o subsistema de impressão consultar o usuário para o nome do arquivo de saída.

Por padrão, a caixa de diálogo Imprimir inicialmente exibe informações sobre a impressora padrão atual. Você pode direcioná-lo para exibir informações para outra impressora instalada por inicializar uma DEVMODE ou estrutura de DEVNAMES e atribuindo a memória global identificador para a estrutura para o hDevMode ou hDevNames membro. O nome do dispositivo que você especifica na dmDeviceName membro da estrutura DEVMODE ou na wDriverOffset membro da estrutura DEVNAMES deve identificar um dispositivo de impressão também é listado na secção [Devices] do WIN.Arquivo INI. Se o dispositivo não estiver listado, PrintDlg retorna um erro.

Você pode direcionar PrintDlg para criar um contexto de dispositivo ou informações contexto para a impressora por configuração o Sinalizar de PD_RETURNDC ou PD_RETURNIC na sinalizadores membro da estrutura PRINTDLG . A função retorna o identificador de contexto de dispositivo ou contexto de informações no membro hDC . Se você usar o Sinalizar de PD_RETURNDC, você pode usar o contexto de dispositivo para gerar a saída para a impressora.

Para recuperar informações sobre a impressora padrão sem exibir a caixa de diálogo Imprimir , defina o sinalizador PD_RETURNDEFAULT. Neste caso, PrintDlg retorna imediatamente depois de definir o hDevMode e hDevNames Membros para alças para estruturas contendo as informações.

Por padrão, o PrintDlg exibe caixas de mensagem quando ocorrem erros. Por exemplo, a função exibirá uma mensagem de erro se não há impressoras instaladas. Para impedir que a função exibir essas mensagens de aviso, defina o sinalizador PD_NOWARNING.

Index