Estrutura PAGESETUPDLGA (commdlg.h)

Contém informações que a função PageSetupDlg usa para inicializar a caixa de diálogo Configurar 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

Digite: HWND

Um identificador para a janela que possui a caixa de diálogo. Esse membro pode ser qualquer identificador de janela válido ou nulo 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 DEVMODE . Na entrada, se um identificador for especificado, os valores na estrutura DEVMODE correspondente serão usados para inicializar os controles na caixa de diálogo. Na saída, a caixa de diálogo define hDevMode como um identificador de memória global para uma estrutura 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 como NULL.

hDevNames

Tipo: HGLOBAL

Um identificador para um objeto de memória global que contém uma estrutura 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 DEVNAMES correspondente serão usadas para inicializar controles na caixa de diálogo. Na saída, a caixa de diálogo define hDevNames como um identificador de memória global para uma estrutura 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 como 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 que o usuário configure as margens.
PSD_DISABLEORIENTATION
0x00000100
Desabilita os controles de orientação, impedindo que o usuário configure 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 de gancho PagePaintHook , ainda poderá desenhar o conteúdo da página de exemplo.
PSD_DISABLEPAPER
0x00000200
Desabilita os controles de papel, impedindo que o usuário configure parâmetros de página, como o tamanho e a origem do papel.
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 configuraçã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, rtMinMargin e 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 membros rtMargin, rtMinMargin e 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 membro rtMargin 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 membro rtMinMargin como as larguras mínimas permitidas 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 há 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 identificadores para estruturas DEVMODE e DEVNAMES inicializadas para a impressora padrão do sistema. PageSetupDlg retornará um erro se hDevNames ou hDevMode não for 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 as mensagens registradas HELPMSGSTRING que a caixa de diálogo envia quando o usuário clica no botão Ajuda .

ptPaperSize

Tipo: POINT

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

rtMinMargin

Tipo: RECT

As larguras mínimas permitidas para as margens esquerda, superior, direita e inferior. O sistema ignorará esse membro se o sinalizador PSD_MINMARGINS não estiver definido. Esses valores devem ser menores ou iguais aos valores especificados no membro rtMargin . 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 Flags , 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 procedimento de gancho PageSetupHook que pode processar mensagens destinadas à caixa de diálogo. Esse membro é ignorado, a menos que o sinalizador PSD_ENABLEPAGESETUPHOOK seja definido no membro Flags .

lpfnPagePaintHook

Tipo: LPPAGEPAINTHOOK

Um ponteiro para um procedimento de gancho PagePaintHook 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 PSD_ENABLEPAGEPAINTHOOK seja definido no membro Flags .

lpPageSetupTemplateName

Tipo: LPCTSTR

O nome do recurso de modelo da caixa de diálogo no módulo identificado pelo membro hInstance . Esse modelo é substituído pelo modelo da 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 PSD_ENABLEPAGESETUPTEMPLATE seja definido no membro Flags .

hPageSetupTemplate

Tipo: HGLOBAL

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

Comentários

Se os sinalizadores PSD_INHUNDREDTHSOFMILLIMETERS e PSD_INTHOUSANDTHSOFINCHES não forem especificados, o sistema consultará o valor LOCALE_IMEASURE da localidade de 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 tiverem identificadores válidos e o nome da impressora especificado pelo membro wDeviceOffset da estrutura DEVNAMES não for o mesmo que o nome especificado pelo membro dmDeviceName da estrutura DEVMODE , o sistema usará o nome especificado por wDeviceOffset por padrão.

Observação

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 de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho commdlg.h (inclua Windows.h)

Confira também

Biblioteca de caixas de diálogo comuns

Conceitual

DEVMODE

DEVNAMES

MAKEINTRESOURCE

Outros recursos

PagePaintHook

Pagesetupdlg

PageSetupHook

Referência

WM_INITDIALOG