PRINTDLG структура містить інформацію, що функція PrintDlg використовує ініціалізувати діалогове вікно Друк . Після того, як користувач закриває діалогове вікно, система використовує цю структуру, щоб повернути інформацію про користувача виділення.
typedef tagPD типу struct {/ / pd DWORD lStructSize;
HWND hwndOwner;
Ручка hDevMode;
Ручка hDevNames;
HDC hDC;
DWORD Прапори;
СЛОВО nFromPage;
СЛОВО nToPage;
СЛОВО nMinPage;
СЛОВО nMaxPage;
СЛОВО nCopies;
HINSTANCE hInstance;
DWORD lCustData;
LPPRINTHOOKPROC lpfnPrintHook;
LPSETUPHOOKPROC lpfnSetupHook;
LPCTSTR lpPrintTemplateName;
LPCTSTR lpSetupTemplateName;
Ручка hPrintTemplate;
Ручка hSetupTemplate;
} PRINTDLG
Якщо hDevMode NULL на введення, PrintDlg виділення пам'яті для структури DEVMODE ініціалізує своїх членів для позначення користувача вводу та повертає ручкою, що ідентифікує його.
Якщо драйвер для вказаного принтера не підтримує розширені пристрій режими, hDevMode є NULL, коли PrintDlg повертається.
Якщо ім'я пристрою (визначені dmDeviceName член на DEVMODE структури) не відображається в розділі [devices] ПЕРЕМОГУ.INI, PrintDlg повертає помилку.
Щоб отримати додаткові відомості про hDevMode і hDevNames членів перегляньте розділ зауваження в кінці цього розділу.
Член hDevNames може бути NULL, в цьому випадку, PrintDlg виділення пам'яті для DEVNAMES структури, initializes внесок своїх членів, вказує користувач, і повертає на ручку, що ідентифікує його.
Щоб отримати додаткові відомості про hDevMode і hDevNames членів перегляньте розділ зауваження в кінці цього розділу.
| PD_ALLPAGES | |
| Позначки за замовчуванням, яка вказує на те, що всі перемикач вибрано спочатку. Цей прапор використовується як заповнювач для позначення, що прапори PD_PAGENUMS і PD_SELECTION не вказано. | |
| PD_COLLATE | |
| Якщо цей прапор, установлено прапорець розібрати за копіями. Якщо цей прапор коли функція PrintDlg повертає, додаток повинні імітувати копіями декілька копій. Докладніше перегляньте опис прапор PD_USEDEVMODECOPIESANDCOLLATE. |
|
| PD_DISABLEPRINTTOFILE | |
| Вимикає прапорець Друк до файлу. | |
| PD_ENABLEPRINTHOOK | |
| Дозволяє гачок передбаченому членів lpfnPrintHook . Це дозволяє гачок порядок "у діалоговому вікні" Друк ". | |
| PD_ENABLEPRINTTEMPLATE | |
| Вказує на те, що hInstance і lpPrintTemplateName члени вказати заміна за замовчуванням Друк діалоговому вікні шаблон. | |
| PD_ENABLEPRINTTEMPLATEHANDLE | |
| Вказує на те, що hPrintTemplate член ідентифікує блок даних, яка містить попередньо діалоговому вікні шаблон. Цей шаблон замінює стандартний шаблон "у діалоговому вікні" Друк ". Система ігнорує член lpPrintTemplateName , якщо цей прапор. | |
| PD_ENABLESETUPHOOK | |
| Дозволяє гачок передбаченому членів lpfnSetupHook . Це дозволяє гачок порядок "у діалоговому вікні" Параметри друку ". | |
| PD_ENABLESETUPTEMPLATE | |
| Вказує на те, що hInstance і lpSetupTemplateName члени вказати заміна шаблон за промовчаннямПараметри друкудіалоговому вікні . | |
| PD_ENABLESETUPTEMPLATEHANDLE | |
| Вказує на те, що hSetupTemplate член ідентифікує блок даних, яка містить попередньо діалоговому вікні шаблон. Цей шаблон замінює стандартний шаблон "у діалоговому вікні" Параметри друку ". Система ігнорує член lpSetupTemplateName , якщо цей прапор. | |
| PD_HIDEPRINTTOFILE | |
| Приховання прапорець Друк до файлу. | |
| PD_NONETWORKBUTTON | |
| Приховання і деактивує кнопку мережі. | |
| PD_NOPAGENUMS | |
| Вимкнення радіо-кнопки сторінок і пов'язані елементах керування. | |
| PD_NOSELECTION | |
| Вимкнення радіо виділення ". | |
| PD_NOWARNING | |
| Запобігає попередження відображаються, коли не принтер за промовчанням. | |
| PD_PAGENUMS | |
| Якщо цей прапор, вибрано перемикач сторінок. Якщо цей прапор коли функція PrintDlg повертає, nFromPage і nFromPage члени вказати починаючи і закінчуючи сторінок, визначених користувачем. |
|
| PD_PRINTSETUP | |
| Причини системи для відображення діалогового вікна Параметри друку , а не "у діалоговому вікні" Друк ". | |
| PD_PRINTTOFILE | |
| Якщо цей прапор, установлено прапорець Друк до файлу. Якщо цей прапор коли функція PrintDlg повертає, зсув позначається wOutputOffset член DEVNAMES структура містить рядок "ФАЙЛУ:". При виклику на StartDoc функцію, щоб почати операцію друку, укажіть це "ФАЙЛУ:" рядок в lpszOutput член на DOCINFO структури. Зазначення цей рядок викликає підсистема друку для запиту користувача на ім'я вихідного файлу. |
|
| PD_RETURNDC | |
| Причини PrintDlg повернути пристрій контекст, зіставлення вибраних користувача в діалоговому вікні. Пристрій контексті повертається в hDC. | |
| PD_RETURNDEFAULT | |
| Якщо цей прапор, PrintDlg функція не відображає діалогове вікно. Замість цього, встановлює hDevNames і hDevMode члени ручки до DEVMODE і DEVNAMES структури, які є ініціалізовано для системи принтер за промовчанням. HDevNames і hDevMode повинні бути NULL або PrintDlg повертає помилку. Якщо принтер за замовчуванням система підтримується на старий драйвер принтера (раніше, ніж Windows версії 3.0), повертаються лише hDevNames ; hDevMode є NULL. |
|
| PD_RETURNIC | |
| Подібний до прапору PD_RETURNDC, за винятком цей прапор повертає контекст інформацію, а не контекст пристрою. Якщо вказано ні PD_RETURNDC, ні PD_RETURNIC, hDC невизначені на вихід. | |
| PD_SELECTION | |
| Якщо цей прапор, вибрано перемикач виділення. Якщо ні PD_PAGENUMS, ні PD_SELECTION, всі перемикач вибрано. |
|
| PD_SHOWHELP | |
| Викликає діалогове вікно відображення кнопки допомогти . Член hwndOwner слід указати вікна, щоб отримувати HELPMSGSTRING зареєстрованих повідомлень, що діалогове вікно надсилання, коли користувач натискає кнопку Довідка. | |
| PD_USEDEVMODECOPIES | |
| Так само, як PD_USEDEVMODECOPIESANDCOLLATE | |
| PD_USEDEVMODECOPIESANDCOLLATE | |
| Цей прапор вказує, чи вашого застосування підтримує декілька копій і сортування. Установити цей прапор вводу, щоб вказати, що ваша заявка не підтримує декілька копій і сортування. У цьому випадку, член nCopies PRINTDLG структури завжди повертає значення 1, і PD_COLLATE ніколи не ставили в прапори член. Якщо не встановлено цю позначку, застосування несе відповідальність за друку та систематизації декілька копій. У цьому випадку, член nCopies PRINTDLG структури вказує кількість копій, які користувач хоче, щоб надрукувати, і член прапори , прапор PD_COLLATE вказує на те, чи користувач хоче копіями. Незалежно від того, чи установлено цей прапор застосунку можна визначити з nCopies і PD_COLLATE, кількість копій для візуалізації, і чи потрібно надрукувати їх взяті. Якщо установлено цей прапор і драйвер принтера не підтримує декілька копій, копії редагування вимкнуто. Аналогічним чином, якщо встановити цей прапор і драйвер принтера не підтримує копіями, прапорець розібрати за копіями вимкнуто. DmCopies і dmCollate членів у DEVMODE структура містить копії та співставлення інформації, що використовується драйвер принтера. Якщо встановити цей прапор і драйвер принтера підтримує декілька копій, член dmCopies вказує кількість копій, вказані користувачем. Якщо установлено цей прапор і драйвер принтера підтримує копіями, dmCollate член DEVMODE структури вказує, чи користувач хоче копіями. Якщо не встановлено цю позначку, член dmCopies завжди повертає значення 1, і член dmCollate завжди нуль. |
|
Коли PrintDlg повертається, nFromPage є початкову сторінку, визначених користувачем. Якщо вибрано сторінки "радіо, коли користувач натискає кнопку добре , PrintDlg множин в PD_PAGENUMS прапор і не повернутися до користувач вводить початкове значення сторінки, що знаходиться в межах мінімальна максимум сторінки діапазону.
Windows 95: Якщо вхідні значення або nFromPage , або nToPage за межами діапазону, зазначеного nMinPage і nMaxPage, PrintDlg повертає помилку.
Windows NT: Якщо вхідні значення або nFromPage , або nToPage знаходиться поза мінімум/максимум діапазоні, PrintDlg повертає помилку тільки, якщо вказано прапор PD_PAGENUMS; в іншому випадку відображається діалогове вікно, але змінює значення з діапазону до мінімального або максимального значення.
Коли PrintDlg повертається, nToPage є кінцевої сторінки, визначених користувачем. Якщо вибрано перемикач сторінки , під час використання натискання кнопки ОК , PrintDlg множин в PD_PAGENUMS прапор і не повернутися до користувач вводить кінцевої сторінки значення, яке протягом мінімум до максимум сторінки діапазону.
При виклику функції PrintDlg , переконайтеся, що DEVNAMES структури, член wDeviceOffset ідентична dmDeviceName член на DEVMODE структури. Якщо ці учасники не той самий принтер, PrintDlg ініціалізує діалоговому вікні за допомогою принтера, визначених член wDeviceOffset.
Зазвичай, якщо hDevMode і hDevNames NULL, PrintDlg ініціалізує діалоговому вікні за допомогою поточного принтера за промовчанням. Однак, якщо встановити прапор PD_RETURNDEFAULT і hDevMode і hDevNames є NULL, PrintDlg використовує членів hDevNames і hDevMode , щоб повернути відомості про поточний принтер за замовчуванням без відображення діалогового вікна.
nbsp; Windows &NT: вимагає 3.1 або пізнішої версії.
Windows:Вимагає Windows 95 або пізнішої версії.
Windows CE:Потрібна Версія 1.0 або пізнішу версію.
Заголовка:Оголошена в winspool.h.
Юнікод:Визначено як Unicode та ANSI структури.
Загальний огляд бібліотеки діалогового вікна, Спільні діалоговому вікні структури, CreateDC, CreateIC, PrintDlg, DEVMODE, DEVNAMES, WM_INITDIALOG