Personalizzare la pagina di esempio

Nella finestra di dialogo Imposta pagina comprende l'immagine di una pagina di esempio che mostra come le selezioni dell'utente influiscono sull'aspetto dell'output stampato. L'immagine costituito da un rettangolo che rappresenta il tipo selezionato di carta o busta, con un rettangolo tratteggiato che rappresentano i margini correnti e parziale (testo in lingua greca) caratteri per mostrare l'aspetto del testo sulla pagina stampata.

Quando si chiama la funzione PageSetupDlg , possibile fornire una routine di hook PagePaintHook per personalizzare l'aspetto della pagina di esempio.

 Per attivare una procedura di gancio PagePaintHook
  1. Impostare il flag PSD_ENABLEPAGEPAINTHOOK nel membro Flags della struttura PAGESETUPDLG.
  2. Specificare l'indirizzo della procedura gancio nel membro lpfnPagePaintHook.

Ogni volta che la finestra di dialogo sta per disegnare il contenuto della pagina di esempio, la routine di hook riceve i messaggi seguenti nell'ordine in cui essi sono elencati.

Messaggio Significato
WM_PSD_PAGESETUPDLG Nella finestra di dialogo sta per disegnare la pagina di esempio. La routine di hook pu utilizzare questo messaggio per preparare per disegnare il contenuto della pagina di esempio.
WM_PSD_FULLPAGERECT Nella finestra di dialogo sta per disegnare la pagina di esempio. Questo messaggio consente di specificare il rettangolo di delimitazione di pagina di esempio.
WM_PSD_MINMARGINRECT Nella finestra di dialogo sta per disegnare la pagina di esempio. Questo messaggio consente di specificare il rettangolo di margine.
WM_PSD_MARGINRECT Nella finestra di dialogo in procinto di disegnare il rettangolo di margine.
WM_PSD_GREEKTEXTRECT Nella finestra di dialogo in procinto di disegnare il testo greco all'interno del rettangolo di margine.
WM_PSD_ENVSTAMPRECT Nella finestra di dialogo si appresta a disegnare nel rettangolo di una pagina di esempio busta busta timbro. Questo messaggio viene inviato per le buste solo.
WM_PSD_YAFULLPAGERECT Nella finestra di dialogo sta per disegnare la parte dell'indirizzo di ritorno di una pagina di esempio di busta. Questo messaggio viene inviato per buste e altri formati di carta.

Se la routine di hook restituisce TRUE per uno qualsiasi dei primi tre messaggi della sequenza di disegno (WM_PSD_PAGESETUPDLG, WM_PSD_FULLPAGERECTo WM_PSD_MINMARGINRECT) nella finestra di dialogo non invia ulteriori messaggi e non disegnare nella pagina di esempio fino a quando la prossima volta che il sistema ha bisogno di ridisegnare la pagina di esempio. Se la routine di hook restituisce FALSE per tutti e tre i messaggi, nella finestra di dialogo Invia messaggi rimanenti della sequenza di disegno.

Se la routine di hook restituisce TRUE per uno qualsiasi dei messaggi rimanenti in una sequenza di disegno, nella finestra di dialogo non disegnare la corrispondente parte della pagina di esempio. Se la routine di hook restituisce FALSE per uno qualsiasi di questi messaggi, nella finestra di dialogo richiama quella porzione di pagina di esempio.

Per evitare che nella finestra di dialogo il contenuto della pagina di esempio di disegno, possibile impostare il flag PSD_DISABLEPAGEPAINTING. Questo flag non influisce sulla vostra routine di hook PagePaintHook , che ancora riceve tutti i WM_PSD_ * messaggi e pu disegnare il contenuto della pagina campione.

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index