Estrutura PRINTDLGW (commdlg.h)
Contém informações que a função PrintDlg 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 as seleções do usuário.
Sintaxe
typedef struct tagPDW {
DWORD lStructSize;
HWND hwndOwner;
HGLOBAL hDevMode;
HGLOBAL hDevNames;
HDC hDC;
DWORD Flags;
WORD nFromPage;
WORD nToPage;
WORD nMinPage;
WORD nMaxPage;
WORD nCopies;
HINSTANCE hInstance;
LPARAM lCustData;
LPPRINTHOOKPROC lpfnPrintHook;
LPSETUPHOOKPROC lpfnSetupHook;
LPCWSTR lpPrintTemplateName;
LPCWSTR lpSetupTemplateName;
HGLOBAL hPrintTemplate;
HGLOBAL hSetupTemplate;
} PRINTDLGW, *LPPRINTDLGW;
Membros
lStructSize
Tipo: DWORD
O tamanho da estrutura, em bytes.
hwndOwner
Tipo: HWND
Um identificador para a janela que possui a caixa de diálogo. Esse membro pode ser qualquer identificador de janela válido ou pode ser NULL se a caixa de diálogo não tiver proprietário.
hDevMode
Tipo: HGLOBAL
Um identificador para um objeto de memória global móvel que contém uma estrutura de DEVMODE
Se
Se o driver do dispositivo da impressora especificada não der suporte a modos de dispositivo estendidos, hDevMode será NULL quando o PrintDlg retornar.
Se o nome do dispositivo (especificado pelo dmDeviceName membro da estrutura DEVMODE) não aparecer na seção [dispositivos] do WIN. INI, PrintDlg retorna um erro.
Para obter mais informações sobre os membros do hDevMode e hDevNames, consulte a seção Comentários no final deste tópico.
hDevNames
Tipo: HGLOBAL
Um identificador para um objeto de memória global móvel que contém uma estrutura de DEVNAMES
O membro
Para obter mais informações sobre os membros do hDevMode e hDevNames, consulte a seção Comentários no final deste tópico.
hDC
Tipo: HDC
Um identificador para um contexto de dispositivo ou um contexto de informações, dependendo se o Flags membro especifica o sinalizador PD_RETURNDC ou PC_RETURNIC. Se nenhum sinalizador for especificado, o valor desse membro será indefinido. Se ambos os sinalizadores forem especificados, PD_RETURNDC terá prioridade.
Flags
Tipo: DWORD
Inicializa a caixa de diálogo Imprimir. Quando a caixa de diálogo é retornada, ela define esses sinalizadores para indicar a entrada do usuário. Esse membro pode ser um ou mais dos valores a seguir.
Valor | Significado |
---|---|
|
O sinalizador padrão que indica que o botão de opção Todos os está selecionado inicialmente. Esse sinalizador é usado como um espaço reservado para indicar que os sinalizadores PD_PAGENUMS e PD_SELECTION não são especificados. |
|
Se esse sinalizador estiver definido, a caixa de seleção Agrupar será selecionada.
Se esse sinalizador for definido quando a função PrintDlg retornar, o aplicativo deverá simular a ordenação de várias cópias. Para obter mais informações, consulte a descrição do sinalizador de PD_USEDEVMODECOPIESANDCOLLATE. Consulte PD_NOPAGENUMS. |
|
Desabilita a caixa de seleção Imprimir no Arquivo. |
|
Habilita o procedimento de gancho especificado no membro lpfnPrintHook |
|
Indica que os membros hInstance e lpPrintTemplateName especificam uma substituição para o modelo de caixa de diálogo padrão Imprimir. |
|
Indica que o membro hPrintTemplate identifica um bloco de dados que contém um modelo de caixa de diálogo pré-carregado. Esse modelo substitui o modelo padrão para a caixa de diálogo Imprimir. O sistema ignorará o membro lpPrintTemplateName |
|
Habilita o procedimento de gancho especificado no membro lpfnSetupHook |
|
Indica que os membros |
|
Indica que o membro hSetupTemplate identifica um bloco de dados que contém um modelo de caixa de diálogo pré-carregado. Esse modelo substitui o modelo padrão para a caixa de diálogo Configuração de Impressão. O sistema ignorará o membro lpSetupTemplateName |
|
Oculta a caixa de seleção Imprimir no Arquivo. |
|
Oculta e desabilita o botão rede |
|
Desabilita o botão Páginas opção e os controles de edição associados. Além disso, faz com que a caixa de seleção Agrupar apareça na caixa de diálogo. |
|
Desabilita o botão de opção seleção de |
|
Impede que a mensagem de aviso seja exibida quando não houver nenhuma impressora padrão. |
|
Se esse sinalizador estiver definido, o botão Páginas opção será selecionado. Se esse sinalizador for definido quando a função PrintDlg retornar, os membros nFromPage e nToPage indicarão as páginas iniciais e finais especificadas pelo usuário. |
|
Faz com que o sistema exiba a caixa de diálogo de Instalação de Impressão |
|
Se esse sinalizador estiver definido, a caixa de seleção Imprimir no Arquivo será selecionada. Se esse sinalizador for definido quando a função |
|
Faz com que PrintDlg retorne um contexto de dispositivo que corresponda às seleções feitas pelo usuário na caixa de diálogo. O contexto do dispositivo é retornado em hDC. |
|
Se esse sinalizador estiver definido, a função PrintDlg não exibirá a caixa de diálogo. Em vez disso, ele define os membros |
|
Semelhante ao sinalizador PD_RETURNDC, exceto que esse sinalizador retorna um contexto de informações em vez de um contexto de dispositivo. Se PD_RETURNDC nem PD_RETURNIC não for especificado, hDC será indefinido na saída. |
|
Se esse sinalizador estiver definido, o botão Seleção opção será selecionado. Se nem PD_PAGENUMS nem PD_SELECTION estiver definido, o botão de opção Todos os será selecionado. |
|
Faz com que a caixa de diálogo exiba o botão Ajuda. O membro hwndOwner deve especificar a janela para receber o HELPMSGSTRING mensagens registradas que a caixa de diálogo envia quando o usuário clica no botão Ajuda. |
|
O mesmo que PD_USEDEVMODECOPIESANDCOLLATE. |
|
Esse sinalizador indica se o aplicativo dá suporte a várias cópias e ordenação. Defina esse sinalizador na entrada para indicar que seu aplicativo não dá suporte a várias cópias e ordenação. Nesse caso, o nCopies membro da estrutura PRINTDLG sempre retorna 1 e PD_COLLATE nunca é definido no membro Flags.
Se esse sinalizador não estiver definido, o aplicativo será responsável por imprimir e agrupar várias cópias. Nesse 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 no Flags membro indica se o usuário deseja ordenação. Independentemente de esse sinalizador ser definido, um aplicativo pode determinar de nCopies e PD_COLLATE quantas cópias serão renderizadas e se devem imprimi-las agrupadas. Se esse sinalizador estiver definido e o driver da impressora não oferecer suporte a várias cópias, o controle de edição cópias Os Problema conhecido no Windows 2000/XP/2003: Se esse sinalizador não estiver definido antes de chamar PrintDlg, printDlg poderá trocar nCopies e dmCopies valores quando retornar. A solução alternativa para esse problema é usar dmCopies se seu valor for maior que 1, caso contrário, use nCopies, para obter o número real de cópias a serem impressas quando o PrintDlg retornar. |
Para garantir que
Para garantir que PrintDlg ou PrintDlgEx retorne os valores corretos em nCopies e PD_COLLATE, defina PD_RETURNDC = true e PD_USEDEVMODECOPIESANDCOLLATE = false. Ao fazer isso, dmCopies é sempre 1 e dmCollate é sempre false.
No Windows Vista e no Windows 7, quando você chama
Ao fazer chamadas para GDI, você deve ignorar o valor de nCopies, considerar o valor como 1 e usar o hDC retornado para evitar a impressão de cópias duplicadas.
nFromPage
Tipo: word
O valor inicial do controle de edição da página inicial.
Quando o PrintDlg retorna, nFromPage é a página inicial especificada pelo usuário. Se o botão de opção Páginas for selecionado quando o usuário clicar no botão Ok, PrintDlg definirá o sinalizador de PD_PAGENUMS e não retornará até que o usuário insira um valor de página inicial dentro do intervalo de páginas mínimo a máximo.
Se o valor de entrada para nFromPage ou nToPage estiver fora do intervalo mínimo/máximo, PrintDlg retornará um erro somente se o sinalizador PD_PAGENUMS for especificado; caso contrário, ele exibe a caixa de diálogo, mas altera o valor fora do intervalo para o valor mínimo ou máximo.
nToPage
Tipo: word
O valor inicial do controle de edição da página final. Quando PrintDlg retorna, nToPage é a página final especificada pelo usuário. Se o botão de opção Páginas for selecionado quando o uso clicar no botão Ok, PrintDlg definirá o sinalizador PD_PAGENUMS e não retornará até que o usuário insira um valor de página final dentro do intervalo de páginas mínimo a máximo.
nMinPage
Tipo: word
O valor mínimo do intervalo de páginas especificado no De e Para controles de edição de página. Se
nMaxPage
Tipo: word
O valor máximo do intervalo de páginas especificado no De e Para controles de edição de página.
nCopies
Tipo: word
O número inicial de cópias para o
hInstance
Tipo: HINSTANCE
Se o sinalizador
lCustData
Tipo: LPARAM
Dados definidos pelo aplicativo que o sistema passa para o procedimento de gancho identificado pelo lpfnPrintHook ou lpfnSetupHook membro. Quando o sistema envia a mensagem
lpfnPrintHook
Tipo: LPPRINTHOOKPROC
Um ponteiro para um procedimento
lpfnSetupHook
Tipo: LPSETUPHOOKPROC
Um ponteiro para um procedimento de
lpPrintTemplateName
Tipo: LPCTSTR
O nome do recurso de modelo da caixa de diálogo no módulo identificado pelo membro do hInstance. Esse modelo substitui o modelo de caixa de diálogo padrão Imprimir. Esse membro é ignorado, a menos que o sinalizador de
lpSetupTemplateName
Tipo: LPCTSTR
O nome do recurso de modelo da caixa de diálogo no módulo identificado pelo membro do hInstance. Esse modelo substitui o modelo de caixa de diálogo padrão Configuração de Impressão. Esse membro é ignorado, a menos que o sinalizador de
hPrintTemplate
Tipo: HGLOBAL
Se o sinalizador
hSetupTemplate
Tipo: HGLOBAL
Se o sinalizador de
Observações
Se hDevMode e hDevNames estiverem NULL, PrintDlg inicializará a caixa de diálogo usando a impressora padrão atual. Para inicializar a caixa de diálogo de uma impressora diferente, use o
Observe que o
Se o sinalizador
Nota
O cabeçalho commdlg.h define PRINTDLG como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 2000 Professional [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows 2000 Server [somente aplicativos da área de trabalho] |
cabeçalho | commdlg.h (inclua Windows.h) |
Consulte também
da Biblioteca de Caixas de Diálogo Comuns
Conceitual
de referência de