На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

PRINTDLG



The PRINTDLG structure contains information that the PrintDlg function uses to initialize the Print common dialog box. After the user closes the dialog box, the system returns information about the user-defined print selections in this structure.

typedef struct tagPD { // pd
DWORD lStructSize;
HWND hwndOwner;
HANDLE hDevMode;
HANDLE hDevNames;
HDC hDC;
DWORD Flags;
WORD nFromPage;
WORD nToPage;
WORD nMinPage;
WORD nMaxPage;
WORD nCopies;
HINSTANCE hInstance;
DWORD lCustData;
LPPRINTHOOKPROC lpfnPrintHook;
LPSETUPHOOKPROC lpfnSetupHook;
LPCTSTR lpPrintTemplateName;

LPCTSTR lpSetupTemplateName;
HANDLE hPrintTemplate;
HANDLE hSetupTemplate;
} PRINTDLG;


Members

lStructSize

Specifies the structure size, in bytes.

hwndOwner

Identifies the window that owns the dialog box. This member can be any valid window handle, or it can be NULL if the dialog box has no owner.

hDevMode

Identifies a movable global memory object that contains a DEVMODE structure. Before a call to the PrintDlg function, the structure members may contain data used to initialize the dialog controls. When PrintDlg returns, the structure members specify the state of the dialog box controls.

If you use the structure to initialize the dialog box controls, you must allocate space for and create the DEVMODE structure. (You should allocate a movable block of memory.)
If you do not use the structure to initialize the dialog box controls, hDevMode may be NULL. In this case, PrintDlg allocates memory for the structure, initializes its members, and returns a handle that identifies it.
If the device driver for the specified printer does not support extended device modes, hDevMode is NULL when PrintDlg returns.

If the device name (specified by the dmDeviceName member of the DEVMODE structure) does not appear in the [devices] section of WIN.INI, PrintDlg returns an error.
Because this structure is a movable global memory object, the value of hDevMode may change during the execution of PrintDlg.
For a discussion of how the system resolves a possible data collision between values specified by the hDevMode and hDevNames members, see the following Remarks section.

hDevNames

Identifies a movable global memory object that contains a DEVNAMES structure. This structure contains three strings that specify the driver name, the printer name, and the output port name. Before the call to PrintDlg, the structure members contain strings used to initialize dialog box controls. When PrintDlg returns, the structure members contain the strings typed by the user. The calling application uses these strings to create a device context or an information context.

If you use the structure to initialize the dialog box controls, you must allocate space for and create the DEVNAMES structure. (You should allocate a movable block of global memory.)
If you do not use the structure to initialize the dialog box controls, hDevNames may be NULL. In this case, PrintDlg allocates memory for the structure, initializes its members (by using the printer name specified in the DEVMODE structure), and returns a handle that identifies it. PrintDlg uses the first port name that appears in the [devices] section of WIN.INI when it initializes the members in the DEVNAMES structure. For example, the function uses "LPT1:" as the port name if the following string appears in the [devices] section:

PCL / HP LaserJet=HPPCL,LPT1:,LPT2:


If both hDevMode and hDevNames are NULL, PrintDlg initializes hDevNames using the current default printer.
Because this structure is a movable global memory object, the value of hDevNames may change during the execution of PrintDlg.
For a discussion of how the system resolves a possible data collision between values specified by hDevNames and hDevMode, see the Remarks section later in this topic.

hDC

Identifies a device context or an information context, depending on whether the Flags member specifies the PD_RETURNDC or PC_RETURNIC flag. If neither flag is specified, the value of this member is undefined. If both flags are specified, PD_RETURNDC has priority.

Flags

A set of bit flags that you can use to initialize the Print common dialog box. When the dialog box returns, it sets these flags to indicate the user's input. This member can be a combination of the following flags:

PD_ALLPAGES
The default flag that indicates that the All radio button is initially selected. This flag is used as a placeholder to indicate that the PD_PAGENUMS and PD_SELECTION flags are not specified.
PD_COLLATE
Places a checkmark in the Collate check box when set on input. When the PrintDlg function returns, this flag indicates that the user selected the Collate option and the printer driver does not support collation. In this case, the application must provide collation. If PrintDlg sets the PD_COLLATE flag on return, the dmCollate member of the DEVMODE structure is undefined.
PD_DISABLEPRINTTOFILE
Disables the Print to File check box.
PD_ENABLEPRINTHOOK
Enables the hook procedure specified in the lpfnPrintHook member. This enables the hook procedure for the Print dialog box.
PD_ENABLEPRINTTEMPLATE
Indicates that the hInstance and lpPrintTemplateName members specify a dialog box template to use in place of the default template for the Print dialog box.
PD_ENABLEPRINTTEMPLATEHANDLE
Indicates that the hPrintTemplate member identifies a data block that contains a preloaded dialog box template. The system uses this template in place of the default template for the Print dialog box. The system ignores the lpPrintTemplateName member if this flag is specified.
PD_ENABLESETUPHOOK
Enables the hook procedure specified in the lpfnSetupHook member. This enables the hook procedure for the Print Setup dialog box.
PD_ENABLESETUPTEMPLATE
Indicates that the hInstance and lpSetupTemplateName members specify a dialog box template to use in place of the default template for the Print Setup dialog box.
PD_ENABLESETUPTEMPLATEHANDLE
Indicates that the hSetupTemplate member identifies a data block that contains a preloaded dialog box template. The system uses this template in place of the default template for the Print Setup dialog box. The system ignores the lpSetupTemplateName member if this flag is specified.
PD_HIDEPRINTTOFILE
Hides the Print to File check box.
PD_NOPAGENUMS
Disables the Pages radio button and the associated edit controls.
PD_NOSELECTION
Disables the Selection radio button.
PD_NOWARNING
Prevents the warning message from being displayed when there is no default printer.
PD_PAGENUMS
Causes the Pages radio button to be in the selected state when the dialog box is created. When PrintDlg returns, this flag is set if the Pages radio button is in the selected state.
PD_PRINTSETUP
Causes the system to display the Print Setup dialog box rather than the Print dialog box.
PD_PRINTTOFILE
Causes the Print to File check box to be checked when the dialog box is created. When PrintDlg returns, this flag is set if the check box is checked. In this case, the offset indicated by the wOutputOffset member of the DEVNAMES structure contains the string "FILE:". When you call the StartDoc function to start the printing operation, specify this "FILE:" string in the lpszOutput member of the DOCINFO structure. Specifying this string causes the print subsystem to query the user for the name of the output file.
PD_RETURNDC
Causes PrintDlg to return a device context matching the selections the user made in the dialog box. The device context is returned in hDC.
PD_RETURNDEFAULT
The PrintDlg function does not display the dialog box. Instead, it sets the hDevNames and hDevMode members to handles to DEVMODE and DEVNAMES structures that are initialized for the system default printer. Both hDevNames or hDevMode must be NULL, or PrintDlg returns an error. If the system default printer is supported by an old printer driver (earlier than Windows version 3.0), only hDevNames is returned; hDevMode is NULL.
PD_RETURNIC
Similar to the PD_RETURNDC flag, except that this flag returns an information context rather than a device context. If neither PD_RETURNDC nor PD_RETURNIC is specified, hDC is undefined on output.
PD_SELECTION
Causes the Selection radio button to be in the selected state when the dialog box is created. When PrintDlg returns, this flag is specified if the Selection radio button is selected. If neither PD_PAGENUMS nor PD_SELECTION is set, the All radio button is selected.
PD_SHOWHELP
Causes the dialog box to display the Help button. The hwndOwner member must specify the window to receive the HELPMSGSTRING registered messages that the dialog box sends when the user clicks the Help button.
PD_USEDEVMODECOPIES
Same as PD_USEDEVMODECOPIESANDCOLLATE
PD_USEDEVMODECOPIESANDCOLLATE
Disables the Copies edit control if the printer driver does not support multiple copies, and disables the Collate checkbox if the printer driver does not support collation. If this flag is not specified, PrintDlg stores the user selections for the Copies and Collate options in the dmCopies and dmCollate members of the DEVMODE structure.
If this flag isn't set, the copies and collate information is returned in the DEVMODE structure if the driver supports multiple copies and collation. If the driver doesn't support multiple copies and collation, the information is returned in the PRINTDLG structure. This means that an application only has to look at nCopies and PD_COLLATE to determine how many copies it needs to render and whether it needs to print them collated.


nFromPage

Specifies the initial value for the starting page edit control. When the PrintDlg function returns, nFromPage specifies the starting page specified by the user. This value is valid only if the PD_PAGENUMS flag is specified.

nToPage

Specifies the initial value for the ending page edit control. When the PrintDlg function returns, nToPage specifies the ending page specified by the user. This value is valid only if the PD_PAGENUMS flag is specified.

nMinPage

Specifies the minimum value for the range of pages specified in the From and To page edit controls.

nMaxPage

Specifies the maximum value for the range of pages specified in the From and To page edit controls.

nCopies

Contains the initial number of copies for the Copies edit control if hDevMode is NULL; otherwise, the dmCopies member of the DEVMODE structure contains the initial value. When PrintDlg returns, this member contains the actual number of copies to print. If the printer driver does not support multiple copies, this value may be greater than one and the application must print all requested copies. If the PD_USEDEVMODECOPIESANDCOLLATE value is set in the Flags member, nCopies is always set to 1 on return and the dmCopies member in the DEVMODE receives the actual number of copies to print.

hInstance

If the PD_ENABLEPRINTTEMPLATE or PD_ENABLESETUPTEMPLATE flag is set in the Flags member, hInstance is the handle of the application or module instance that contains the dialog box template named by the lpPrintTemplateName or lpSetupTemplateName member.

lCustData

Specifies application-defined data that the system passes to the hook procedure identified by the lpfnPrintHook or lpfnSetupHook member. When the system sends the WM_INITDIALOG message to the hook procedure, the message's lParam parameter is a pointer to the PRINTDLG structure specified when the dialog was created. The hook procedure can use this pointer to get the lCustData value.

lpfnPrintHook

Pointer to a PrintHookProc hook procedure that can process messages intended for the Print dialog box. This member is ignored unless the PD_ENABLEPRINTHOOK flag is set in the Flags member.

lpfnSetupHook

Pointer to a SetupHookProc hook procedure that can process messages intended for the Print Setup dialog box. This member is ignored unless the PD_ENABLESETUPHOOK flag is set in the Flags member.

lpPrintTemplateName

Pointer to a null-terminated string that names a dialog box template resource in the module identified by the hInstance member. This template is substituted for the standard Print dialog box template. This member is ignored unless the PD_ENABLEPRINTTEMPLATE flag is set in the Flags member.

lpSetupTemplateName

Pointer to a null-terminated string that names a dialog box template resource in the module identified by the hInstance member. This template is substituted for the standard Print Setup dialog box template. This member is ignored unless the PD_ENABLESETUPTEMPLATE flag is set in the Flags member.

hPrintTemplate

If the PD_ENABLEPRINTTEMPLATEHANDLE flag is set in the Flags member, hPrintTemplate is the handle of a memory object containing a dialog box template. This template is substituted for the standard Print dialog box template.

hSetupTemplate

If the PD_ENABLESETUPTEMPLATEHANDLE flag is set in the Flags member, hSetupTemplate is the handle of a memory object containing a dialog box template. This template is substituted for the standard Print Setup dialog box template.



Remarks

There might be data collision between the values specified by hDevNames and hDevMode because the wDeviceOffset member of the DEVNAMES structure is supposed to be identical to the dmDeviceName member of the DEVMODE structure. If it is not, the system resolves the data collision by using the value of wDeviceOffset.
If the user checks the Collate check box in the common Print dialog box, but the printer driver does not support collation, the Flags member of the PRINTDLG structure returned by PrintDlg includes the PD_COLLATE flag. In addition, the dmCollate member of the DEVMODE structure identified by the hDevMode member is set to COLLATE_TRUE. If the PD_COLLATE flag is set, the application must simulate collation.

If the PD_USEDEVMODECOPIESANDCOLLATE flag is set, the Collate check box is grayed out if the printer driver does not support collation. This ensures that the user can only select one copy, and nCopies will be one. If the driver does support multiple copies, dmCopies will contain the number of copies, and nCopies will be one.
On entry to PrintDlg, the nCopies member of the PRINTDLG structure specifies the number of copies if PD_USEDEVMODECOPIESANDCOLLATE is not set. On exit from PrintDlg, nCopies contains the number of copies if the printer driver does not support multiple copies. Otherwise it is set to one. If nCopies is greater than one on exit from PrintDlg, the application must print multiple copies of the document.

See Also

CreateDC, CreateIC, PrintDlg, DEVMODE, DEVNAMES, WM_INITDIALOG


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

PRINTDLG



Структура PRINTDLG содержит информацию, которую функция PrintDlg использует, чтобы инициализировать общего диалогового блока Распечатки. После того, как пользователь закроет диалогового блока, система возвращает информацию о выборах распечатки определенного пользователя в этой структуре.

typedef struct tagPD { // 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;


Участники

lStructSize

Определяет структурный размер, в байтах.

hwndOwner

Идентифицирует окно, которое обладает диалоговым блоком. Этот элемент может быть любой правильной ручкой окна, или это может быть НЕДЕЙСТВИТЕЛЬНО если диалоговый блок не имеет владельца.

hDevMode

Идентифицирует подвижный глобальный объект памяти, который содержит структуру DEVMODE. Перед вызовом в функцию PrintDlg, структурные участники могут содержать данные использованные, чтобы инициализировать диалоговые элементы управления. Когда возврат PrintDlg, структурные участники определяют состояние диалоговых элементов управления блока.

Если Вы используете структуру, чтобы инициализировать диалоговые элементы управления блока, Вы должны распределить пространство для и создавать структуру DEVMODE. (Вы должны распределить подвижного блока memory.) Если Вы не используете структуру, чтобы инициализировать диалоговые элементы управления блока, hDevMode может быть НЕДЕЙСТВИТЕЛЕН. В этом случае, PrintDlg распределяет память для структуры, инициализирует своих участников и возвращает ручку, которая идентифицирует это.
Если драйвер устройства для определенного принтера не поддерживает расширенные режимы устройства, hDevMode НЕДЕЙСТВИТЕЛЕН когда возврат PrintDlg.

Если имя устройства (определенное элементом dmDeviceName структуры DEVMODE), не появляется в [devices] секции WIN.INI, PrintDlg возвращает ошибку.
Поскольку эта структура является подвижным глобальным объектом памяти, величина hDevMode может измениться в течение выполнения PrintDlg.
Для дискуссии того как система решает возможное столкновение данных между величинами определенными hDevMode и участниками hDevNames, смотри секцию Замечаний следующего.

hDevNames

Идентифицирует подвижный глобальный объект памяти, который содержит структуру DEVNAMES. Эта структура содержит три строки, которые определяют драйверное имя, имя принтера, и выходное имя порта. Перед вызовом на PrintDlg, структурные участники содержат строки использованные, чтобы инициализировать диалоговые элементы управления блока. Когда возврат PrintDlg, структурные участники содержат строки набранные пользователем. Вызывающее приложение использует эти строки, чтобы создавать контекст устройства или информационный контекст.

Если Вы используете структуру, чтобы инициализировать диалоговые элементы управления блока, Вы должны распределить пространство для и создавать структуру DEVNAMES. (Вы должны распределить подвижного блока глобального memory.) Если Вы не используете структуру, чтобы инициализировать диалоговые элементы управления блока, hDevNames может быть НЕДЕЙСТВИТЕЛЕН. В этом случае, PrintDlg распределяет память для структуры, инициализирует своих участников (используя имя принтера определялся в структуре DEVMODE), и возврат ручка, которая идентифицирует это. PrintDlg ИСПОЛЬЗУЕТ первое имя порта, которое появляется в [devices] секции WIN.INI когда это инициализирует участников в структуре DEVNAMES. Например, функция использует "LPT1:" как имя порта если следующее строки появляется в [devices] секции:

PCL / HP LaserJet=HPPCL,LPT1:,LPT2:


Если как hDevMode так и hDevNames НЕДЕЙСТВИТЕЛЬНЫ, PrintDlg инициализирует hDevNames, использовавший текущий по умолчанию принтер.
Поскольку эта структура является подвижным глобальным объектом памяти, величина hDevNames может измениться в течение выполнения PrintDlg.
Для дискуссии того как система решает возможное столкновение данных между величинами определенными hDevNames и hDevMode, смотри секцию Замечаний последующую в этой теме.

hDC

Идентифицирует контекст устройства или информационный контекст, или элемент Флагов определяет PD_RETURNDC или флаг PC_RETURNIC. Если никакой флаг не определен, величина этого элемента неопределенная. Если оба флага определены, PD_RETURNDC имеет приоритет.

Флаги

Установка бита сигнализирует, который Вы можете использовать, чтобы инициализировать общего диалогового блока Распечатки. Когда диалоговый блок возвращается, он устанавливает эти флаги, чтобы указывать ввод пользователя. Этот элемент может быть комбинацией следующего флагов:

PD_ALLPAGES
По умолчанию флаг, который указывает, что Вся радио кнопка первоначально выбрана. Этот флаг использован как метка-заполнитель, чтобы указывать, что PD_PAGENUMS и флаги PD_SELECTION не определены.
PD_COLLATE
Устанавливает checkmark в контрольном блоке Collate когда установлено на вводе. Когда функциональный возврат PrintDlg, этот флаг указывает, что пользователь выбирался опцию Collate и драйвер принтера не поддерживает сопоставление. В этом случае, приложение должно обеспечить сопоставление. Если PrintDlg устанавливает флаг PD_COLLATE в возврате, элемент dmCollate структуры DEVMODE неопределенный.
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_NOPAGENUMS
Выводит из строя радио кнопку Страниц и связанные элементы управления редактирования.
PD_NOSELECTION
Выводит из строя радио кнопку Выбора.
PD_NOWARNING
Предохраняет предупреждающее сообщение от отображенное когда нет по умолчанию принтера.
PD_PAGENUMS
Заставляет радио кнопку Страниц, чтобы быть в выбранном состоянии когда диалоговый блок создан. Когда возврат PrintDlg, этот флаг установлен если радио кнопка Страниц - в выбранном состоянии.
PD_PRINTSETUP
Заставляет систему, чтобы отображать Установку Распечатки диалогового блока а не диалоговый блок Распечатки.
PD_PRINTTOFILE
Заставляет Распечатку на Файловом контрольном блоке, чтобы быть проверенн когда диалоговый блок создан. Когда возврат PrintDlg, этот флаг установлен если контрольный блок проверен. В этом случае, смещение указанное элементом wOutputOffset структуры DEVNAMES содержит строку "ФАЙЛА:". Когда Вы вызываете функцию StartDoc, чтобы запускать печатающую операцию, определите эту строку "ФАЙЛА:" в элементе lpszOutput структуры DOCINFO. Определение этой строки вызывает подсистему распечатки на запрос пользователь для имени выходного файла.
PD_RETURNDC
Заставляет PrintDlg, чтобы возвращать контекст устройства, сочетавшийся выборы пользователь был сделан в диалоговом блоке. Контекст устройства возвращан в hDC.
PD_RETURNDEFAULT
Функция PrintDlg не отображает диалогового блока. Взамен, это устанавливает hDevNames и участников hDevMode ручек в DEVMODE и структуры DEVNAMES, которые инициализированы для системного по умолчанию принтера. Оба hDevNames или hDevMode должны быть НЕДЕЙСТВИТЕЛЬНЫ, или PrintDlg возвращает ошибку. Если системный по умолчанию принтер поддерживан старым драйвером принтера (раньше чем версия Windows 3.0), только hDevNames возвращан; hDevMode НЕДЕЙСТВИТЕЛЕН.
PD_RETURNIC
Подобный флагу PD_RETURNDC, за исключением того этот этот флаг возвращает информационный контекст а не контекст устройства. Если ни PD_RETURNDC ни PD_RETURNIC определен, hDC неопределенный на выходе.
PD_SELECTION
Заставляет радио кнопку Выбора, чтобы быть в выбранном состоянии когда диалоговый блок создан. Когда возврат PrintDlg, этот флаг определен если радио кнопка Выбора выбрана. Если ни PD_PAGENUMS ни PD_SELECTION установлен, Вся радио кнопка выбрана.
PD_SHOWHELP
Заставляет диалогового блока, чтобы отображать кнопку Подсказки. Элемент hwndOwner должен определить окно, чтобы получать HELPMSGSTRING зарегистрировавшее сообщения, что диалоговый блок посылает когда пользователь щелкает кнопку Подсказки.
PD_USEDEVMODECOPIES Также, как PD_USEDEVMODECOPIESANDCOLLATE PD_USEDEVMODECOPIESANDCOLLATE
Выводит из строя управление редактирования Копий если драйвер принтера не поддерживает многочисленные копии и выводит из строя Collate checkbox если драйвер принтера не поддерживает сопоставление. Если этот флаг не определен, PrintDlg загружает выборы пользователя для Копий и Сортирует опции на dmCopies и участниках dmCollate структуры DEVMODE.
Если этот флаг не установлен, копии и сортируют информацию возвращан в структуру DEVMODE если драйвер поддерживает многочисленные копии и сопоставление. Если драйвер не поддерживает многочисленные копии и сопоставление, информация возвращана в структуру PRINTDLG. Это означает, что приложение только должно смотреть на nCopies и PD_COLLATE, чтобы определять сколько копий, ему нужно предоставлять и независимо ему нужно печатать им отсортированное.


nFromPage

Определяет начальную величину для стартового страничного управления редактирования. Когда функциональный возврат PrintDlg, nFromPage определяет стартовую страницу определенную пользователем. Эта величина - в силе только если флаг PD_PAGENUMS определен.

nToPage

Определяет начальную величину для заканчивающего страничного управления редактирования. Когда функциональный возврат PrintDlg, nToPage определяет заканчивающую страницу определенную пользователем. Эта величина - в силе только если флаг PD_PAGENUMS определен.

nMinPage

Определяет минимальную величину для дипазона страниц определенных в течение From и В страничные элементы управления редактирования.

nMaxPage

Определяет максимальную величину для дипазона страниц определенных в течение From и В страничные элементы управления редактирования.

nCopies

Содержит начальное количество копий для управления редактирования Копий если hDevMode НЕДЕЙСТВИТЕЛЕН; в противном случае, элемент dmCopies структуры DEVMODE содержит начальную величину. Когда возврат PrintDlg, этот элемент содержит фактическое количество копий, чтобы печататься. Если драйвер принтера не поддерживает многочисленные копии, эта величина может быть больше, чем один и приложение должно напечатать все запросившее копии. Если величина PD_USEDEVMODECOPIESANDCOLLATE установлена в элементе Флагов, nCopies всегда установлен на 1 в возврате и элемент dmCopies в DEVMODE получает фактическое количество копий, чтобы печататься.

hInstance

Если PD_ENABLEPRINTTEMPLATE или флаг PD_ENABLESETUPTEMPLATE установлен в элементе Флагов, hInstance - ручка прикладного или модульного примера, который содержит диалоговый шаблон блока названный lpPrintTemplateName или элементом lpSetupTemplateName.

lCustData

Определяет определенные прикладные данные, что система проходит в рычажную процедуру идентифицированную lpfnPrintHook или элементом lpfnSetupHook. Когда система посылает сообщение WM_INITDIALOG в рычажную процедуру, параметр сообщения lParam является указателем в структуру PRINTDLG определенную когда диалог был создан. Рычажная процедура может использовать этот указатель, чтобы получать величину lCustData.

lpfnPrintHook

Указатель в процедуру захвата PrintHookProc, которая может обработать сообщения предназначенные для диалогового блока Распечатки. Этот элемент проигнорирован если флаг PD_ENABLEPRINTHOOK не установлен в элементе Флагов.

lpfnSetupHook

Указатель в процедуру захвата SetupHookProc, которая может обработать сообщения предназначенные для Установки Распечатки диалогового блока. Этот элемент проигнорирован если флаг PD_ENABLESETUPHOOK не установлен в элементе Флагов.

lpPrintTemplateName

Указатель в недействительный расторгнутую строку, которая называет ресурс шаблона диалогового блока в модуле идентифицированном элементом hInstance. Этот шаблон заменен диалоговым блоком стандартного шаблона Распечатки. Этот элемент проигнорирован если флаг PD_ENABLEPRINTTEMPLATE не установлен в элементе Флагов.

lpSetupTemplateName

Указатель в недействительный расторгнутую строку, которая называет ресурс шаблона диалогового блока в модуле идентифицированном элементом hInstance. Этот шаблон заменен стандартной Установкой диалогового блока шаблона Распечатки. Этот элемент проигнорирован если флаг PD_ENABLESETUPTEMPLATE не установлен в элементе Флагов.

hPrintTemplate

Если флаг PD_ENABLEPRINTTEMPLATEHANDLE установлен в элементе Флагов, hPrintTemplate - ручка объекта памяти, содержащей диалоговый шаблон блока. Этот шаблон заменен диалоговым блоком стандартного шаблона Распечатки.

hSetupTemplate

Если флаг PD_ENABLESETUPTEMPLATEHANDLE установлен в элементе Флагов, hSetupTemplate - ручка объекта памяти, содержащей диалоговый шаблон блока. Этот шаблон заменен стандартной Установкой диалогового блока шаблона Распечатки.



Замечания

Могло быть столкновением данных между величинами определенными hDevNames и hDevMode поскольку элемент wDeviceOffset структуры DEVNAMES предполагает быть идентичен элементу dmDeviceName структуры DEVMODE. Если нет, система решает столкновение данных используя величину wDeviceOffset.
Если пользователь проверяет контрольного блока Collate в диалоговом блоке общей Распечатки, но драйвер принтера не поддерживает сопоставление, элемент Флагов структуры PRINTDLG возвращанные PrintDlg включает флаг PD_COLLATE. Кроме того, элемент dmCollate структуры DEVMODE идентифицированной элементом hDevMode установлен на COLLATE_TRUE. Если флаг PD_COLLATE установлен, приложение должно сымитировать сопоставление.

Если флаг PD_USEDEVMODECOPIESANDCOLLATE установлен, контрольный блок Collate - grayed если драйвер принтера не поддерживает сопоставление. Это проверяет, что пользователь может только выбраться один копия, и nCopies будет один. Если драйвер поддерживает многочисленные копии, dmCopies будет содержать количество копий, и nCopies будет один.
На входе на PrintDlg, элемент nCopies структуры PRINTDLG определяет количество копий если PD_USEDEVMODECOPIESANDCOLLATE не установлен. На выходе из PrintDlg, nCopies содержит количество копий если драйвер принтера не поддерживает многочисленные копии. В противном случае установлено, чтобы один. Если nCopies больше, чем один на выходе из PrintDlg, приложение должно напечатать многочисленные копии документа.

Смотри Также

CreateDC, CreateIC, PrintDlg, DEVMODE, DEVNAMES, WM_INITDIALOG


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz