TPrDlg
TPrDlg structure
#include <PrintTraps.h>
typedef struct TPrDlg { Size Offset Description
DialogRecord dlg; 170 0 Dialog info: window, items, editField, ...
ProcPtr pFltrProc; 4 170 Addr of modal Dialog filter proc
ProcPtr pItemProc; 4 174 Addr of item evaluation proc
THPrint hPrintUsr; 4 178 Handle to user's print record. See TPrint
Boolean fDoIt; 1 182 (used internally)
Boolean fDone; 1 183 (used internally)
long lUser1; 4 184 ( reserved)
long lUser2; 4 188 ( reserved)
long lUser3; 4 182 ( reserved)
long lUser4 ; 4 196 ( reserved)
(other) n 200 Additional data needed by the dialog
} TPrDlg; 200+n
typedef TPrDlg *TPPrDlg;

Notes: A TPrDlg structure is used by applications which need to add items to the
standard print dialogs. For instance, if you want the user to be able to
renumber printed pages or to set the paper size in some reasonable manner,
then you may want to modify the standard "Page Setup..." dialog which is
used by PrStlDialog.
The technique is rather complex and is explained in Apple Technical Note
#95. It involves calling PrJobInit (or PrStlInit) to obtain the address
of an initialized TPrDlg structure. Then store the address of a custom
routine into pItemProc (and possibly pFltrProc) and append your custom
items to the dialog. Next call PrDlgMain, passing it the address of a
custom dialog initialization procedure. For more detailed information, see
Adding Items to the Print Dialogs .