[Questo è documentazione preliminare e soggetto a cambiare].
È possibile personalizzare la finestra delle proprietà stampa nei seguenti modi:
Fornire un modello personalizzato per la parte inferiore della pagina generale . Consente di includere controlli aggiuntivi che sono unici per l'applicazione. La funzione PrintDlgEx utilizza il modello personalizzato al posto del modello predefinito.
Fornire le pagine delle proprietà aggiuntive per seguire la pagina generale.
Non si può cambiare la parte superiore della pagina generale . Non è possibile modificare pagine delle proprietà fornite dal driver della stampante.
Per fornire un modello personalizzato per pagina generale
Creare un modello personalizzato per la parte inferiore della pagina generale modificando il modello PRINTDLGEXORD specificato nella PRNSETUP.File DLG. Il modello personalizzato deve essere la stessa dimensione come modello predefinito. Gli identificatori di controllo utilizzati nel modello di finestra di dialogo stampa predefinite sono definiti nel DLGS.File H.
Utilizzare la struttura PRINTDLGEX per abilitare il modello come segue:
Se il modello personalizzato è una risorsa in un'applicazione o una libreria a collegamento dinamico, impostare il flag PD_ENABLEPRINTTEMPLATE nel membro Flags . Utilizzare i membri hInstance e lpPrintTemplateName della struttura per identificare il nome del modulo e risorse.
- Oppure -
Se il modello personalizzato è già in memoria, impostare il flag PD_ENABLEPRINTTEMPLATEHANDLE. Utilizzare il membro hInstance per identificare l'oggetto di memoria che contiene il modello.
Se si utilizza un modello personalizzato per definire ulteriori controlli, è necessario fornire un oggetto callback per elaborare l'input per i controlli. L'oggetto callback implementa un metodo IPrintDialogCallback::HandleMessage che riceve i messaggi inviati alla casella di dialogo personalizzate.
Utilizzare il membro lphPropertyPages della struttura PRINTDLGEX per specificare una matrice di maniglie alle pagine aggiuntive.
Le procedure di casella di dialogo specificate quando hai creato ogni pagina elabora i messaggi inviati alle pagine.
Si potrebbe voler fornire un oggetto callback che implementa la IObjectWithSite interfaccia. La funzione PrintDlgEx utilizza questa interfaccia per passare all'applicazione di un puntatore a un'interfaccia IPrintDialogServices . Le procedure di casella di dialogo per le pagine delle proprietà aggiuntive possono utilizzare questa interfaccia per recuperare informazioni sulla stampante correntemente selezionata.