Compartilhar via


Estrutura PAGESETUPDLGA (commdlg.h)

Contém informações que a função PageSetupDlg usa para inicializar a caixa de diálogo configuração de página . Depois que o usuário fecha a caixa de diálogo, o sistema retorna informações sobre os parâmetros de página definidos pelo usuário nessa estrutura.

Sintaxe

typedef struct tagPSDA {
  DWORD           lStructSize;
  HWND            hwndOwner;
  HGLOBAL         hDevMode;
  HGLOBAL         hDevNames;
  DWORD           Flags;
  POINT           ptPaperSize;
  RECT            rtMinMargin;
  RECT            rtMargin;
  HINSTANCE       hInstance;
  LPARAM          lCustData;
  LPPAGESETUPHOOK lpfnPageSetupHook;
  LPPAGEPAINTHOOK lpfnPagePaintHook;
  LPCSTR          lpPageSetupTemplateName;
  HGLOBAL         hPageSetupTemplate;
} PAGESETUPDLGA, *LPPAGESETUPDLGA;

Membros

lStructSize

Tipo: DWORD

O tamanho, em bytes, dessa estrutura.

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 que contém uma estrutura de DEVMODE . Na entrada, se um identificador for especificado, os valores na estrutura de DEVMODE correspondente serão usados para inicializar os controles na caixa de diálogo. Na saída, a caixa de diálogo define hDevMode para um identificador de memória global para uma estrutura de DEVMODE que contém valores que especificam as seleções do usuário. Se as seleções do usuário não estiverem disponíveis, a caixa de diálogo definirá hDevMode para NULL.

hDevNames

Tipo: HGLOBAL

Um identificador para um objeto de memória global que contém uma estrutura de DEVNAMES . Essa estrutura contém três cadeias de caracteres que especificam o nome do driver, o nome da impressora e o nome da porta de saída. Na entrada, se um identificador for especificado, as cadeias de caracteres na estrutura de DEVNAMES correspondente serão usadas para inicializar controles na caixa de diálogo. Na saída, a caixa de diálogo define hDevNames para um identificador de memória global para uma estrutura de DEVNAMES que contém cadeias de caracteres que especificam as seleções do usuário. Se as seleções do usuário não estiverem disponíveis, a caixa de diálogo definirá hDevNames para NULL.

Flags

Tipo: DWORD

Um conjunto de sinalizadores de bits que você pode usar para inicializar a caixa de diálogo Configuração de Página. 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
PSD_DEFAULTMINMARGINS
0x00000000
Define os valores mínimos que o usuário pode especificar para que as margens da página sejam as margens mínimas permitidas pela impressora. Esse é o padrão. Esse sinalizador será ignorado se os sinalizadores PSD_MARGINS e PSD_MINMARGINS também forem especificados.
PSD_DISABLEMARGINS
0x00000010
Desabilita os controles de margem, impedindo o usuário de definir as margens.
PSD_DISABLEORIENTATION
0x00000100
Desabilita os controles de orientação, impedindo o usuário de definir a orientação da página.
PSD_DISABLEPAGEPAINTING
0x00080000
Impede que a caixa de diálogo desenhe o conteúdo da página de exemplo. Se você habilitar um procedimento PagePaintHook gancho, ainda poderá desenhar o conteúdo da página de exemplo.
PSD_DISABLEPAPER
0x00000200
Desabilita os controles de papel, impedindo o usuário de definir parâmetros de página, como o tamanho do papel e a origem.
PSD_DISABLEPRINTER
0x00000020
Obsoleto.

Windows XP/2000: desabilita o botão Impressora, impedindo que o usuário invoque uma caixa de diálogo que contenha informações adicionais de instalação da impressora.

PSD_ENABLEPAGEPAINTHOOK
0x00040000
Habilita o procedimento de gancho especificado no membro lpfnPagePaintHook .
PSD_ENABLEPAGESETUPHOOK
0x00002000
Habilita o procedimento de gancho especificado no membro lpfnPageSetupHook .
PSD_ENABLEPAGESETUPTEMPLATE
0x00008000
Indica que os membros hInstance e lpPageSetupTemplateName especificam um modelo de caixa de diálogo a ser usado no lugar do modelo padrão.
PSD_ENABLEPAGESETUPTEMPLATEHANDLE
0x00020000
Indica que o membro hPageSetupTemplate identifica um bloco de dados que contém um modelo de caixa de diálogo pré-carregado. O sistema ignorará o membro lpPageSetupTemplateName se esse sinalizador for especificado.
PSD_INHUNDREDTHSOFMILLIMETERS
0x00000008
Indica que centésimos de milímetros são a unidade de medida para margens e tamanho do papel. Os valores nos membros rtMargin, rtMinMargine ptPaperSize estão em centésimos de milímetros. Você pode definir esse sinalizador na entrada para substituir a unidade de medida padrão para a localidade do usuário. Quando a função retorna, a caixa de diálogo define esse sinalizador para indicar as unidades usadas.
PSD_INTHOUSANDTHSOFINCHES
0x00000004
Indica que milésimos de polegadas são a unidade de medida para margens e tamanho do papel. Os valores nos membrosrtMargin , rtMinMargine ptPaperSize estão em milésimos de polegadas. Você pode definir esse sinalizador na entrada para substituir a unidade de medida padrão para a localidade do usuário. Quando a função retorna, a caixa de diálogo define esse sinalizador para indicar as unidades usadas.
PSD_INWININIINTLMEASURE
0x00000000
Reservado.
PSD_MARGINS
0x00000002
Faz com que o sistema use os valores especificados no rtMargin membro como as larguras iniciais para as margens esquerda, superior, direita e inferior. Se PSD_MARGINS não estiver definido, o sistema definirá as larguras iniciais como uma polegada para todas as margens.
PSD_MINMARGINS
0x00000001
Faz com que o sistema use os valores especificados no rtMinMargin membro como as larguras mínimas permitidos para as margens esquerda, superior, direita e inferior. O sistema impede que o usuário insira uma largura menor que o mínimo especificado. Se PSD_MINMARGINS não for especificado, o sistema definirá as larguras mínimas permitidas para as permitidas pela impressora.
PSD_NONETWORKBUTTON
0x00200000
Oculta e desabilita o botão rede .
PSD_NOWARNING
0x00000080
Impede que o sistema exiba uma mensagem de aviso quando não houver nenhuma impressora padrão.
PSD_RETURNDEFAULT
0x00000400

PageSetupDlg não exibe a caixa de diálogo. Em vez disso, ele define os membros hDevNames e hDevMode para lidar com estruturas de DEVMODE e DEVNAMES que são inicializadas para a impressora padrão do sistema. PageSetupDlg retornará um erro se hDevNames ou hDevMode não estiver NULL.

PSD_SHOWHELP
0x00000800
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.

ptPaperSize

Tipo: POINT

As dimensões do papel selecionado pelo usuário. O sinalizador PSD_INTHOUSANDTHSOFINCHES ou PSD_INHUNDREDTHSOFMILLIMETERS indica as unidades de medida.

rtMinMargin

Tipo: RECT

As larguras mínimas permitidos para as margens esquerda, superior, direita e inferior. O sistema ignorará esse membro se o sinalizador de PSD_MINMARGINS não estiver definido. Esses valores devem ser menores ou iguais aos valores especificados no rtMargin membro. O sinalizador PSD_INTHOUSANDTHSOFINCHES ou PSD_INHUNDREDTHSOFMILLIMETERS indica as unidades de medida.

rtMargin

Tipo: RECT

As larguras das margens esquerda, superior, direita e inferior. Se você definir o sinalizador PSD_MARGINS, rtMargin especificar os valores de margem inicial. Quando pageSetupDlg retorna, rtMargin contém as larguras de margem selecionadas pelo usuário. O sinalizador PSD_INHUNDREDTHSOFMILLIMETERS ou PSD_INTHOUSANDTHSOFINCHES indica as unidades de medida.

hInstance

Tipo: HINSTANCE

Se o sinalizador PSD_ENABLEPAGESETUPTEMPLATE estiver definido no membro sinalizadores do , hInstance será um identificador para a instância do aplicativo ou módulo que contém o modelo de caixa de diálogo nomeado pelo membro lpPageSetupTemplateName .

lCustData

Tipo: LPARAM

Dados definidos pelo aplicativo que o sistema passa para o procedimento de gancho identificado pelo membro lpfnPageSetupHook . Quando o sistema envia a mensagem WM_INITDIALOG para o procedimento de gancho, o parâmetro lParam da mensagem é um ponteiro para a estrutura pagesetupdlg especificada quando a caixa de diálogo foi criada. O procedimento de gancho pode usar esse ponteiro para obter o valor lCustData.

lpfnPageSetupHook

Tipo: LPPAGESETUPHOOK

Um ponteiro para um pageSetupHook procedimento de gancho que pode processar mensagens destinadas à caixa de diálogo. Esse membro é ignorado, a menos que o sinalizador de PSD_ENABLEPAGESETUPHOOK seja definido no membro sinalizadores do .

lpfnPagePaintHook

Tipo: LPPAGEPAINTHOOK

Um ponteiro para um pagePaintHook procedimento de gancho que recebe mensagens WM_PSD_* da caixa de diálogo sempre que a página de exemplo é redesenhada. Ao processar as mensagens, o procedimento de gancho pode personalizar a aparência da página de exemplo. Esse membro é ignorado, a menos que o sinalizador de PSD_ENABLEPAGEPAINTHOOK seja definido no membro sinalizadores do .

lpPageSetupTemplateName

Tipo: LPCTSTR

O nome do recurso de modelo da caixa de diálogo no módulo identificado pelo membro do hInstance. Esse modelo é substituído pelo modelo de caixa de diálogo padrão. Para recursos da caixa de diálogo numerada, lpPageSetupTemplateName pode ser um valor retornado pela macro MAKEINTRESOURCE. Esse membro é ignorado, a menos que o sinalizador de PSD_ENABLEPAGESETUPTEMPLATE seja definido no membro sinalizadores do .

hPageSetupTemplate

Tipo: HGLOBAL

Se o sinalizador PSD_ENABLEPAGESETUPTEMPLATEHANDLE estiver definido no membro sinalizadores , hPageSetupTemplate será um identificador para um objeto de memória que contém um modelo de caixa de diálogo.

Observações

Se os sinalizadores PSD_INHUNDREDTHSOFMILLIMETERS e PSD_INTHOUSANDTHSOFINCHES não forem especificados, o sistema consultará o valor LOCALE_IMEASURE da localidade do usuário padrão para determinar a unidade de medida (centésimos de milímetros ou milésimos de polegadas) para as larguras de margem e o tamanho do papel.

Se hDevNames e hDevMode tiver identificadores válidos e o nome da impressora especificado pelo wDeviceOffset membro da estrutura de DEVNAMES não é o mesmo que o nome especificado pelo membro dmDeviceName da estrutura de DEVMODE, o sistema usa o nome especificado por wDeviceOffset por padrão.

Nota

O cabeçalho commdlg.h define PAGESETUPDLG 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

DEVMODE

DEVNAMES

MAKEINTRESOURCE

outros recursos

PagePaintHook

PageSetupDlg

PageSetupHook

de referência de

WM_INITDIALOG