PRINTDLG

A estrutura PRINTDLG contém informações PrintDlg função usa para inicializar a caixa de diálogo Imprimir . Depois que o usuário fecha a caixa de diálogo, o sistema usa essa estrutura para retornar informações sobre seleções do usuário.

typedef struct tagPD {/ / pd DWORD lStructSize; 
    HWND hwndOwner; 
    MANIPULAR hDevMode; 
    MANIPULAR hDevNames; 
    HDC hDC; 
    DWORD Sinalizadores; 
    PALAVRA nFromPage; 
    PALAVRA nToPage; 
    PALAVRA nMinPage; 
    PALAVRA nMaxPage; 
    PALAVRA nCopies; 
    HINSTANCE hInstance; 
    DWORD lCustData; 
    LPPRINTHOOKPROC lpfnPrintHook; 
    LPSETUPHOOKPROC lpfnSetupHook; 
    LPCTSTR lpPrintTemplateName; 
    LPCTSTR lpSetupTemplateName; 
    Lidar com hPrintTemplate; 
    Lidar com hSetupTemplate; 
} PRINTDLG 

 

Membros

lStructSize
Especifica o tamanho da estrutura, em bytes.
hwndOwner
Identifica a janela que possui a caixa de diálogo. Esse membro pode ser qualquer válido identificador janela, ou ele pode ser NULL se a caixa de diálogo não possui nenhum proprietário.
hDevMode
Identificador para um objeto memória global móvel que contém um estrutura de DEVMODE . Se hDevMode não for nulo na entrada, você deve alocar um Bloquear de memória móvel para o DEVMODE estrutura e inicializar seus membros. O PrintDlg função usa a entrada dadospara inicializar os controles na caixa de diálogo. Quando PrintDlg retorna, os membros DEVMODE indicam a entrada do usuário.

Se hDevMode é NULL na entrada, PrintDlg aloca memória para a estrutura DEVMODE , inicializa seus membros para indicar a entrada do usuário e retorna um identificador que identifica-lo.

Se o driver de dispositivo para a impressora especificada não suporta modos de dispositivo estendido, hDevMode é nulo quando PrintDlg retorna.

Se o nome do dispositivo (especificado pelo dmDeviceName membro do estrutura DEVMODE ) não aparecem na secção [devices] do WIN.INI, PrintDlg retorna um erro.

Para obter mais informações sobre o hDevMode e hDevNames Membros, consulte a seção de comentários no final deste tópico.

hDevNames
Identificador para um objeto memória global móvel que contém uma estrutura DEVNAMES . Se hDevNames não for nulo na entrada, você deve alocar um Bloquear de memória móvel para a estrutura DEVNAMES e inicializar seus membros. O PrintDlg função usa a entrada dadospara inicializar os controles na caixa de diálogo. Quando PrintDlg retorna, os membros DEVNAMES contém informações para a impressora escolhida pelo usuário. Você pode usar essas informações para criar um contexto de dispositivo ou um contexto de informações.

O hDevNames membro pode ser NULL, nesse maiúscminúsc, PrintDlg aloca memória para a estrutura DEVNAMES , inicializa seus membros para indicar o usuário entrada, e retorna um identificador que identifica-lo.

Para obter mais informações sobre o hDevMode e hDevNames Membros, consulte a seção de comentários no final deste tópico.

hDC
Identifica um contexto de dispositivo ou um contexto de informações, dependendo de se a sinalizadores membro especifica o Sinalizar PD_RETURNDC ou PC_RETURNIC. Se nenhum sinalizador for especificado, o valor deste membro é indefinido. Se ambos os sinalizadores forem especificados, PD_RETURNDC tem prioridade.
Sinalizadores
Um conjunto de bit sinalizadores que você pode usar para inicializar a Imprimir caixa de diálogo comum. Quando a caixa de diálogo retorna, ele define esses sinalizadores para indicar a entrada do usuário. Esse membro pode ser uma combinação dos sinalizadores a seguir:
PD_ALLPAGES
A bandeira de padrão que indica que o botão de rádio tudo inicialmente é seleccionado. Este sinalizador é usado como um espaço reservado para indicar que não estão especificados os sinalizadores PD_PAGENUMS e PD_SELECTION.
PD_COLLATE
Se este sinalizador estiver definido, a caixa de verificação Agrupar está marcada.

Se este sinalizador é definido quando a função PrintDlg retorna, o aplicativo deve simular o agrupamento de várias cópias. Para obter mais informações, consulte a descrição da bandeira PD_USEDEVMODECOPIESANDCOLLATE.

PD_DISABLEPRINTTOFILE
Desativa a caixa de seleção Imprimir em arquivo.
PD_ENABLEPRINTHOOK
Permite que o procedimento gancho especificado na lpfnPrintHook membro. Isso permite que o procedimento de gancho de caixa de diálogo Imprimir.
PD_ENABLEPRINTTEMPLATE
Indica que o hInstance e lpPrintTemplateName Membros especificar uma substituição para o modelo de caixa de diálogo de impressão padrão.
PD_ENABLEPRINTTEMPLATEHANDLE
Indica que o hPrintTemplate membro identifica um bloco dados que contém um modelo caixa diálogo pré-carregadas. Este modelo substitui o modelo padrão para a caixa de diálogo Imprimir . O sistema ignora o lpPrintTemplateName membro se este sinalizador for especificado.
PD_ENABLESETUPHOOK
Permite que o procedimento gancho especificado na lpfnSetupHook membro. Isso permite que o procedimento de gancho de caixa de diálogo Configurar impressão.
PD_ENABLESETUPTEMPLATE
Indica que o hInstance e lpSetupTemplateName Membros especificar uma substituição para o modelo de caixa de diálogo deconfiguração de impressãopadrão .
PD_ENABLESETUPTEMPLATEHANDLE
Indica que o hSetupTemplate membro identifica um bloco dados que contém um modelo caixa diálogo pré-carregadas. Este modelo substitui o modelo padrão para a caixa de diálogo Configurar impressão . O sistema ignora o lpSetupTemplateName membro se este sinalizador for especificado.
PD_HIDEPRINTTOFILE
Oculta a caixa de seleção Imprimir em arquivo.
PD_NONETWORKBUTTON
Oculta e desativa o botão ' rede '.
PD_NOPAGENUMS
Desabilita o botão de opção páginas e os controles associados editar.
PD_NOSELECTION
Desabilita o botão de opção de seleção.
PD_NOWARNING
Impede que a mensagem de aviso seja exibida quando não há nenhuma impressora padrão.
PD_PAGENUMS
Se este sinalizador estiver definido, o botão de opção páginas estiver selecionado.

Se este sinalizador é definido quando a função PrintDlg retorna, o nFromPage e nFromPage Membros indicam o início e fim de páginas especificadas pelo usuário.

PD_PRINTSETUP
Faz com que o sistema exiba a caixa de diálogo Configurar impressão , em vez de caixa de diálogo Imprimir.
PD_PRINTTOFILE
Se este sinalizador estiver definido, a caixa de seleção Imprimir em arquivo é selecionada.

Se este sinalizador é definido quando a função PrintDlg retorna, o deslocamento indicado pelo membro wOutputOffset da estrutura DEVNAMES contém a Cadeia de caracteres "arquivo:". 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.

PD_RETURNDC
Faz com que PrintDlg para retornar um contexto para dispositivo combinando as seleções feitas na caixa de diálogo pelo usuário. O contexto de dispositivo é retornado na hDC.
PD_RETURNDEFAULT
Se este sinalizador estiver definido, a função PrintDlg não exibe a caixa de diálogo. Em vez disso, ele define o hDevNames e hDevMode Membros para alças para DEVMODE de DEVNAMES estruturas que são inicializadas para a impressora padrão de sistema. Ambos hDevNames e hDevMode devem ser NULL ou PrintDlg retorna um erro.

Se a impressora padrão de sistema é suportada por um driver de impressora antigo (anterior ao Windows versão 3.0), apenas hDevNames é retornado; hDevMode é NULL.

PD_RETURNIC
Semelhante para o Sinalizar de PD_RETURNDC, exceto esse sinalizador retorna um contexto de informações ao invés de um contexto de dispositivo. Se nem PD_RETURNDC PD_RETURNIC for especificado, o hDC é indefinida na saída.
PD_SELECTION
Se este sinalizador estiver definido, o botão de opção de seleção estiver selecionado.

Se nem o PD_PAGENUMS nem PD_SELECTION é definida, o botão de opção todos estiver selecionado.

PD_SHOWHELP
Faz com que a caixa de diálogo Exibir no botão Ajuda . O hwndOwner membro deve especificar a janela para receber a HELPMSGSTRING registadas mensagens de caixa de diálogo envia quando o usuário clica no botão Ajuda.
PD_USEDEVMODECOPIES
Mesmo que PD_USEDEVMODECOPIESANDCOLLATE
PD_USEDEVMODECOPIESANDCOLLATE
Este sinalizador indica se seu aplicativo suporta várias cópias e agrupamento. Defina esse sinalizador na entrada para indicar que seu aplicativo não oferece suporte a várias cópias e agrupamento. Neste caso, o nCopies membro da estrutura PRINTDLG sempre retorna 1 e PD_COLLATE nunca é definido na sinalizadores membro.

Se este sinalizador não estiver definido, o aplicativo é responsável por imprimir e confronto de várias cópias. Neste caso, o nCopies membro da estrutura PRINTDLG indica o número de cópias que o usuário deseja imprimir, e o sinalizador PD_COLLATE in o sinalizadores membro indica se o usuário quer agrupamento.

Independentemente de saber se este sinalizador estiver definido, um aplicativo pode determinar a partir de nCopies e PD_COLLATE quantas cópias para processar e se deseja imprimi-las agrupadas.

Se este sinalizador estiver definido e o driver de impressora não oferece suporte a várias cópias, o Controlarar de Editar de cópias é desativado. Da mesma forma, se este sinalizador estiver definido e o driver de impressora não oferece suporte a agrupamento, a caixa de verificação Agrupar está desativada.

Os membros de dmCopies e dmCollate o DEVMODE estrutura contêm as cópias e agrupar informações usadas pelo driver de impressora. Se este sinalizador estiver definido e o driver de impressora oferece suporte a várias cópias, o membro dmCopies indica o número de cópias solicitadas pelo usuário. Se este sinalizador estiver definido e o driver de impressora oferece suporte a agrupamento, o dmCollate membro da estrutura DEVMODE indica se o usuário quer agrupamento. Se este sinalizador não estiver definido, o membro de dmCopies sempre retorna 1, e o membro de dmCollate é sempre zero.


nFromPage
Especifica o valor inicial para o controle de edição de página inicial.

Quando PrintDlg retorna, nFromPage é a página inicial especificada pelo usuário. Se o botão de opção páginas estiver selecionado quando o usuário clica a OK botão, PrintDlg define o PD_PAGENUMS sinalizador e não retorna até que o usuário insere um valor inicial de página que está dentro o mínimo de intervalo de páginas máximo.

Windows 95: Se o valor de entrada para nFromPage ou nToPage está fora do intervalo especificado por nMinPage e nMaxPage, PrintDlg retorna um erro.

Windows NT: Se a entrada de valor para nFromPage ou nToPage está fora do intervalo de mínimo/máximo, PrintDlg retorna um erro somente se o sinalizador PD_PAGENUMS for especificada; caso contrário, exibe a caixa de diálogo, mas altera o valor fora do intervalo para o valor mínimo ou máximo.

nToPage
Especifica o valor inicial para o Controlarar de Editar página final.

Quando PrintDlg retorna, nToPage é a página final especificada pelo usuário. Se o botão de opção páginas estiver seleccionado quando o uso clica a OK botão, PrintDlg define o PD_PAGENUMS sinalizador e não retorna até que o usuário insere um valor final de página que está dentro o mínimo de intervalo de páginas máximo.

nMinPage
Especifica o valor mínimo para o intervalo de páginas especificado nas partir e a página Editar controles. Se nMinPage for igual a nMaxPage, botão de opção páginas e inicial e final controles de edição de página estão desabilitados.
nMaxPage
Especifica o valor máximo para o intervalo de páginas especificado em controles de edição de página de e para.
nCopies
Contém o número inicial de cópias para o Controlarar de Editar de cópias se hDevMode é NULL; caso contrário, o membro dmCopies a DEVMODE estrutura contém o valor inicial. Quando PrintDlg retorna, nCopies contém o real número de cópias a serem impressas. Esse valor depende se o aplicativo ou o driver de impressora é responsável para imprimir várias cópias. Se o sinalizador PD_USEDEVMODECOPIESANDCOLLATE é definido na sinalizadores membro, nCopies é sempre 1 em retorno, e o driver de impressora é responsável para imprimir várias cópias. Se o sinalizador não estiver definido, o aplicativo é responsável por imprimir o número de exemplares especificado pelo nCopies. Para obter mais informações, consulte a descrição da bandeira PD_USEDEVMODECOPIESANDCOLLATE.
hInstance
Se o sinalizador PD_ENABLEPRINTTEMPLATE ou PD_ENABLESETUPTEMPLATE é definido na sinalizadores membro, hInstance é o identificador do pedido ou da instância do módulo que contém o modelo caixa diálogo nomeado pela membro lpPrintTemplateName ou lpSetupTemplateName.
lCustData
Especifica dados application-defined que o sistema passa para o procedimento gancho identificado pelo membro lpfnPrintHook ou lpfnSetupHook . Quando o sistema envia o WM_INITDIALOG mensagem para o procedimento gancho, lParam parâmetro a mensagem é que um ponteiro para o PRINTDLG estrutura especificado quando o diálogo foi criado. O procedimento de gancho pode usar esse ponteiro para obter o valor de lCustData.
lpfnPrintHook
Ponteiro para um PrintHookProc procedimento gancho que pode mensagens processo destinadas a caixa de diálogo Imprimir . Esse membro é ignorado a menos que o sinalizador PD_ENABLEPRINTHOOK é definido na sinalizadores membro.
lpfnSetupHook
Ponteiro para um SetupHookProc procedimento gancho que pode mensagens processo destinadas a caixa de diálogo Configurar impressão . Esse membro é ignorado a menos que o sinalizador PD_ENABLESETUPHOOK é definido na sinalizadores membro.
lpPrintTemplateName
Ponteiro para uma seqüência de caracteres null-terminated que nomeia um recurso de modelo caixa diálogo no módulo identificado pelo hInstance membro. Este modelo substitui o modelo de caixa de diálogo de impressão padrão. Esse membro é ignorado a menos que o sinalizador PD_ENABLEPRINTTEMPLATE é definido na sinalizadores membro.
lpSetupTemplateName
Ponteiro para uma seqüência de caracteres null-terminated que nomeia um recurso de modelo caixa diálogo no módulo identificado pelo hInstance membro. Este modelo substitui o modelo de caixa de diálogo de Configuração de impressão padrão. Esse membro é ignorado a menos que o sinalizador PD_ENABLESETUPTEMPLATE é definido na sinalizadores membro.
hPrintTemplate
Se o sinalizador PD_ENABLEPRINTTEMPLATEHANDLE é definido na sinalizadores membro, hPrintTemplate é o identificador de um objeto de memória que contém um modelo caixa diálogo. Este modelo substitui o modelo de caixa de diálogo de impressão padrão.
hSetupTemplate
Se o sinalizador PD_ENABLESETUPTEMPLATEHANDLE é definido na sinalizadores membro, hSetupTemplate é o identificador de um objeto de memória que contém um modelo caixa diálogo. Este modelo substitui o modelo de caixa de diálogo de Configuração de impressão padrão.

Observações

Quando você chamar a função PrintDlg , certifique-se de que o wDeviceOffset membro da estrutura DEVNAMES é idêntica ao dmDeviceName membro do a estrutura de DEVMODE . Se esses membros não especificar a mesma impressora, PrintDlg Inicializa a caixa de diálogo usando a impressora especificada pelo membro wDeviceOffset.

Normalmente, se hDevMode e hDevNames são NULL, PrintDlg Inicializa a caixa de diálogo usando a impressora padrão atual. No entanto, se o sinalizador PD_RETURNDEFAULT é definido e hDevMode e hDevNames são NULL, PrintDlg usa o hDevNames e hDevMode Membros para retornar informações sobre a impressora padrão atual sem exibir a caixa de diálogo.

QuickInfo

nbsp; Windows &NT: requer a versão 3.1 ou posterior.
Windows:Requer o Windows 95 ou posterior.
Windows CE:Requer versão 1.0 ou posterior.
Cabeçalho:Declaradas no winspool.h.
Unicode:Definidos como estruturas ANSI e Unicode.

Ver também

Visão geral de biblioteca de caixa de diálogo comum, estruturas de caixa de diálogo comuns, CreateDC, CreateIC, PrintDlg, DEVMODE, DEVNAMES, WM_INITDIALOG

Index