The Page Setup dialog box lets the user set the following attributes of the printed page:
·The paper type (envelope, legal, letter, and so on)
·The paper source (manual feed, tractor feed, sheet feeder, and so on)
·The page orientation (portrait or landscape)
·The width of the page margins
The attributes presented in the dialog box vary, depending on the capabilities of the printer.
You create and display a Page Setup dialog box by initializing a PAGESETUPDLG structure and passing the structure to the PageSetupDlg function.
The following illustration shows a typical Page Setup dialog box.
If the user clicks the OK button, PageSetupDlg returns TRUE after setting various members in the PAGESETUPDLG structure to specify the user's selections. The ptPaperSize and rtMargin members contain the values specified by the user. The hDevMode and hDevNames members contain global memory handles for the DEVMODE and DEVNAMES structures. These structures contain additional page information as well as information about the printer. You can use this information to prepare the output to be sent to the selected printer.
If the user cancels the Page Setup dialog box or an error occurs, PageSetupDlg returns FALSE. To determine the cause of the error, call the CommDlgExtendedError function to retrieve the extended error value.