Метод IPrint::P rint (docobj.h)
Печатает объект на указанном принтере, используя указанные требования задания.
Синтаксис
HRESULT Print(
[in] DWORD grfFlags,
[in, out] DVTARGETDEVICE **pptd,
[in, out] PAGESET **ppPageSet,
[in, out] STGMEDIUM *pstgmOptions,
[in] IContinueCallback *pcallback,
[in] LONG nFirstPage,
[out] LONG *pcPagesPrinted,
[out] LONG *pnLastPage
);
Параметры
[in] grfFlags
Битовое поле, указывающее параметры печати из перечисления PRINTFLAG .
PRINTFLAG_MAYBOTHERUSER (1)
PRINTFLAG_PROMPTUSER (2)
PRINTFLAG_USERMAYCHANGEPRINTER (4)
PRINTFLAG_RECOMPOSETODEVICE (8)
PRINTFLAG_DONTACTUALLYPRINT (16)
PRINTFLAG_FORCEPROPERTIES (32)
PRINTFLAG_PRINTTOFILE (64)
[in, out] pptd
Указатель на структуру DVTARGETDEVICE , описывающую целевое устройство печати.
[in, out] ppPageSet
Указатель на переменную указателя PAGESET , которая получает указатель на структуру, указывающую, какие страницы должны быть напечатаны.
[in, out] pstgmOptions
Указатель на параметры печати для конкретных объектов в сериализованном наборе свойств OLE. Этот параметр может иметь значение NULL для входных или возвращаемых данных.
[in] pcallback
Указатель на интерфейс IContinueCallback на сайте представления, который должен периодически опрашивать со скоростью реагирования человека, чтобы определить, следует ли отказаться от печати. Этот параметр может принимать значение NULL.
[in] nFirstPage
Номер первой страницы для печати. Это значение переопределяет любое значение, ранее переданное в IPrint::SetInitialPageNum.
[out] pcPagesPrinted
Указатель на переменную, получающую фактическое количество успешно напечатанных страниц.
[out] pnLastPage
Указатель на переменную, получающую номер последней печатной страницы.
Возвращаемое значение
Этот метод может возвращать стандартное возвращаемое значение E_UNEXPECTED, а также следующие значения.
Код возврата | Описание |
---|---|
|
Метод завершился успешно. |
|
Процесс печати был отменен до завершения. *pcPagesPrinted указывает количество страниц, которые были успешно напечатаны до возникновения этой ошибки. |
|
Страница, указанная в **ppPageSet или nFirstPage, не существует. |
Комментарии
Принтер, на котором должен быть напечатан объект, обозначается структурой DVTARGETDEVICE, на которую указывает pptd. Структура DEVMODE на целевом устройстве указывает на параметры принтера всего задания, такие как количество копий, размер бумаги и качество печати. Структура DEVMODE также может содержать сведения об ориентации в элементе dmOrientation (это указано в элементе dmFields ). Если он присутствует, то следует использовать эту ориентацию бумаги; Если нет, то будет использоваться естественная ориентация, определяемая содержимым объекта.
Из-за возможности ввода пользователем параметры pptd и ppPageSet являются структурами [in,out]. При отсутствии взаимодействия с пользователем (т. е. если флаг PRINTFLAG_PROMPTUSER не установлен) и целевое устройство, и набор страниц обязательно будут одинаковыми для ввода и вывода. Однако если пользователю будет предложено ввести параметры печати, объект возвращает сведения о целевом устройстве и наборе страниц, соответствующие фактически выбранному пользователем.
Параметр pstgmOptions также имеет значение [in,out]. При выходе объект должен записать в *pstgmOptions все сведения, относящиеся к объекту, которые потребуются для воспроизведения этого точного задания печати. Примеры могут включать выбор пользователем элемента "лист, заметки или и то, и другое" в приложении электронной таблицы. Передаваемые данные в формате сериализованного набора свойств. Данные обычно полезны только при передаче обратно при последующем вызове того же объекта. Так как последующий вызов может указывать различные флаги взаимодействия с пользователем, целевое устройство или другие параметры, вызывающий объект может привести к тому, что документ будет напечатан несколько раз одинаково в немного разных контекстах печати.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | docobj.h |