Personalizando a página de exemplo

A caixa de diálogo Configurar página inclui uma imagem de uma página de amostra que mostra como as seleções do usuário afetam a aparência da saída impressa. A imagem consiste em um retângulo que representa o tipo de papel ou do envelope selecionado, com um linha pontilhada Retangular que representa o atuais margens e parcial (texto grego) caracteres para mostrar a aparência do texto na página impressa.

Quando você chamar o PageSetupDlg função, você pode fornecer um procedimento de gancho de PagePaintHook para personalizar a aparência da página de amostra.

    Para habilitar um procedimento de gancho PagePaintHook
  1. Definir o sinalizador PSD_ENABLEPAGEPAINTHOOK in o sinalizadores membro da estrutura PAGESETUPDLG.
  2. Especificar o endereço do procedimento de gancho in a lpfnPagePaintHook membro.

Sempre que a caixa de diálogo desenhar o conteúdo da página de amostra, o procedimento gancho recebe as seguintes mensagens na ordem em que elas são listadas.

Mensagem Significado
WM_PSD_PAGESETUPDLG A caixa de diálogo é desenhar a página de exemplo. O procedimento de gancho pode usar esta mensagem para preparar-se para desenhar o conteúdo da página de amostra.
WM_PSD_FULLPAGERECT A caixa de diálogo é desenhar a página de exemplo. Esta mensagem especifica o retângulo delimitador da página de amostra.
WM_PSD_MINMARGINRECT A caixa de diálogo é desenhar a página de exemplo. Esta mensagem especifica o Retangular de margem.
WM_PSD_MARGINRECT A caixa de diálogo é desenhar o Retangular de margem.
WM_PSD_GREEKTEXTRECT A caixa de diálogo é desenhar o texto grego dentro do retângulo de margem.
WM_PSD_ENVSTAMPRECT A caixa de diálogo está prestes a desenhar no envelope-carimbo Retangular de uma página de amostra de envelope. Esta mensagem é enviada para envelopes apenas.
WM_PSD_YAFULLPAGERECT A caixa de diálogo é desenhar a parte de endereço de retorno de uma página de amostra de envelope. Esta mensagem é enviada para outros tamanhos de papel e envelopes.

Se o procedimento gancho retorna TRUE para qualquer uma das três primeiras mensagens de uma seqüência de desenho (WM_PSD_PAGESETUPDLG, WM_PSD_FULLPAGERECTou WM_PSD_MINMARGINRECT) a caixa de diálogo envia mensagens não mais e não desenha na página de amostra até a próxima vez que o sistema precisa para redesenhar a página de exemplo. Se o procedimento gancho retorna FALSE para todas as três mensagens, a caixa de diálogo envia as mensagens remanescentes da seqüência desenho.

Se o procedimento gancho retorna TRUE para qualquer uma das mensagens restantes em uma seqüência de desenho, na caixa de diálogo não desenha a parte correspondente da página de amostra. Se o procedimento gancho retorna FALSE para qualquer uma dessas mensagens, a caixa de diálogo chama essa parte da página de amostra.

Para impedir que a caixa de diálogo desenho do conteúdo da página de amostra, você pode definir o sinalizador PSD_DISABLEPAGEPAINTING. Esse Sinalizar não afeta seu procedimento de gancho de PagePaintHook , que ainda recebe todas as WM_PSD_ * mensagens e pode desenhar o conteúdo de página de amostra.