PrintDlg function
[PrintDlg is available for use in the operating systems specified in the Requirements section. It may be altered or unavailable in subsequent versions. Instead, use PrintDlgEx or PageSetupDlg.]
Displays a Print Dialog Box or a Print Setup dialog box. The Print dialog box enables the user to specify the properties of a particular print job.
Syntax
BOOL WINAPI PrintDlg( _Inout_ LPPRINTDLG lppd );
Parameters
- lppd [in, out]
-
Type: LPPRINTDLG
A pointer to a PRINTDLG structure that contains information used to initialize the dialog box. When PrintDlg returns, this structure contains information about the user's selections.
Return value
Type: BOOL
If the user clicks the OK button, the return value is nonzero. The members of the PRINTDLG structure pointed to by the lppd parameter indicate the user's selections.
If the user canceled or closed the Print or Printer Setup dialog box or an error occurred, the return value is zero. To get extended error information, use the CommDlgExtendedError function. If the user canceled or closed the dialog box, CommDlgExtendedError returns zero; otherwise, it returns one of the following values.
- CDERR_FINDRESFAILURE
- CDERR_INITIALIZATION
- CDERR_LOADRESFAILURE
- CDERR_LOADSTRFAILURE
- CDERR_LOCKRESFAILURE
- CDERR_MEMALLOCFAILURE
- CDERR_MEMLOCKFAILURE
- CDERR_NOHINSTANCE
- CDERR_NOHOOK
- CDERR_NOTEMPLATE
- CDERR_STRUCTSIZE
- PDERR_CREATEICFAILURE
- PDERR_DEFAULTDIFFERENT
- PDERR_DNDMMISMATCH
- PDERR_GETDEVMODEFAIL
- PDERR_INITFAILURE
- PDERR_LOADDRVFAILURE
- PDERR_NODEFAULTPRN
- PDERR_NODEVICES
- PDERR_PARSEFAILURE
- PDERR_PRINTERNOTFOUND
- PDERR_RETDEFFAILURE
Remarks
If the hook procedure (pointed to by the lpfnPrintHook or lpfnSetupHook member of the PRINTDLG structure) processes the WM_CTLCOLORDLG message, the hook procedure must return a handle to the brush that should be used to paint the control background.
Note that the values of hDevMode and hDevNames in PRINTDLG may change when they are passed into PrintDlg. This is because these members are filled on both input and output.
To switch printer selection, use PrintDlg or PrintDlgEx.
Windows Server 2003, Windows XP, and Windows 2000: To switch printer selection, use the Printer button
Known issue: If PD_RETURNDC is set but PD_USEDEVMODECOPIESANDCOLLATE flag is not set, the PrintDlgEx and PrintDlg functions return incorrect number of copies. To get the correct number of copies, ensure that the calling application always uses PD_USEDEVMODECOPIESANDCOLLATE with PD_RETURNDC.
Examples
For an example, see Displaying the Print Dialog Box.
Requirements
|
Minimum supported client | Windows 2000 Professional [desktop apps only] |
|---|---|
|
Minimum supported server | Windows 2000 Server [desktop apps only] |
|
Header |
|
|
Library |
|
|
DLL |
|
|
Unicode and ANSI names | PrintDlgW (Unicode) and PrintDlgA (ANSI) |
See also
- Reference
- CommDlgExtendedError
- PRINTDLG
- PrintHookProc
- SetupHookProc
- WM_CTLCOLORDLG
- Conceptual
- Common Dialog Box Library
- Other Resources
- CreateDC
- DOCINFO
- StartDoc