pdlg_do() is the counterpart to pdlg_open()/pdlg_evnt()/pdlg_close(). This function opens a modal dialog and only returns to the caller when one of the exit buttons has been activated ("Cancel", "OK" ).
Declaration: WORD pdlg_do( PRN_DIALOG *prn_dialog, PRN_SETTINGS *settings, BYTE *document_name, WORD option_flags ); Call: button = pdlg_do( prn_dialog, settings, "Unnamed", PDLG_PRINT ); Variable Argument Meaning Inputs: contrl[0] 207 pdlg_do contrl[1] 1 Entries in intin contrl[3] 3 Entries in addrin intin[0] option_flags addrin[0] prn_dialog Pointer to management structure addrin[1] settings Printer settings addrin[2] document_name Document name Outputs: contrl[2] 1 Entries in intout contrl[4] 0 Entries in addrout intout[0] button Selected button (or 0) Description of <option_flags>: #define PDLG_PREFS 0x0000 /* Display settings dialog */ #define PDLG_PRINT 0x0001 /* Display print dialog */ #define PDLG_ALWAYS_COPIES 0x0010 /* Always offer No. of copies */ #define PDLG_ALWAYS_ORIENT 0x0020 /* Always offer landscape format */ #define PDLG_ALWAYS_SCALE 0x0040 /* Always offer scaling */ #define PDLG_EVENODD 0x0100 /* Offer option for even and odd pages */ Description of <button>: #define PDLG_CANCEL 1 /* "Cancel" was selected */ #define PDLG_OK 2 /* "OK" was pressed */ Description of <settings>: see pdlg_open...