Определение DEVMODE
typedef struct _devicemode
TCHAR dmDeviceName[CCHDEVICENAME] ,
WORD dmSpecVersion;
WORD dmDriverVersion;
WORD dmSize;
WORD dmDriverExtra;
DWORD dmFields;
union
struct
short dmOrientation;
short dmPaperSize;
short dmPaperLength;
short dmPaperWidth;
POINTL dmPosition;
short dmScale;
short dmCopies;
short dmDefaultSource;
short dmPrintQuality;
short dmColor;
short dmDuplex;
short dmYResolution;
short dmTTOption;
short dmCollate;
TCHAR dmFormName[CCHFORMNAMK]
WORD dmLogPixels;
DWORD dmBitsPerPel;
DWORD dmPelsWidth;
DWORD dmPelsHeight;
union
DWORD dmDisplayFUg
DWORD dmNup;
} DWORD dmDisplayFrequency; DWORD dmlCMMethod; DWORD dmICMIntent; DWORD dmMediaType ; DWORD dmDitherType; DWORD dmReservedl ; DWORD dmReserved2; DWORD dmPanningWidth; DWORD dmPanningHeight; } DEVMODE; |
||||||||||||||||||||||||||
Члены |
||||||||||||||||||||||||||
dmDeviceName |
TCHAR[CCHDEVICENAME]. Имя устройства, поддерживаемого драйвером (например, "PCL/HP LaserJet" в случае PCL/HP LaserJet). Это имя является уникальным среди драйверов устройств. |
|||||||||||||||||||||||||
dmSpecVersion |
WORD. Номер версии технических требований, которым соответствуют данные инициализации, лежащие в основе указанной структуры. Текущая версия, определенная как DM_SPECVERSION, имеет номер 0x0400. |
|||||||||||||||||||||||||
dmDriver Version |
WORD. Номер версии драйвера принтера, присвоенный разработчиком драйвера принтера. |
|||||||||||||||||||||||||
dmSize |
WORD. Размер в байтах структуры DEVMODE, за исключением члена dmDriverData (зависящего от устройства). Если приложение манипулирует только частью данных, не зависящих от драйвера, то в нем этот член можно использовать для определения длины указанной структуры без необходимости учитывать различия между версиями драйвера. |
|||||||||||||||||||||||||
dmDriftfExtfu |
WORD. Размер в байтах приватных данных драйвера, которые следуют за этой структурой. Если в драйвере устройства не используются данные, зависящие от устройства, этот член должен быть равен 0. |
|||||||||||||||||||||||||
dmfJeUf |
DWORD. Комбинация флажков, перечисленных в табл. 14.3, которая определяет, используются ли драйвером принтера остальные члены структуры DEVMODE, или эти члены игнорируются. Для объединения этих флажков используется двоичный оператор OR (|). |
|||||||||||||||||||||||||
Таблица 14.3. Значения члена dmFfeUs структуры DEVMODE |
||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||
DM_ORIENTATKN |
Использовать член dmOrientation. |
|||||||||||||||||||||||||
DM_PAPERSIZE |
Использовать член dmPaperSize. Если в качестве параметра dmPaperSize установлено значение DMPAPER USER, в приложении необходимо также включить флажки DM_PAPERWIOTH и DM_PAPERLENGTH. |
|||||||||||||||||||||||||
DM_PAPERLENGTH |
Использовать член dmPaperLengfh. Этот флажок следует включать, только если в качестве параметра dmPaperSize установлено значение DMPAPER_USER. |
|||||||||||||||||||||||||
DM_PAPERWDTH |
Использовать член dmPaperWidth. Этот флажок следует включать, только если в качестве параметра dmPaperSize установлено значение DMPAPER_USER. |
|||||||||||||||||||||||||
DM_POSmON |
Использовать член dmPos'rtion. |
|||||||||||||||||||||||||
DM_SCALE |
Использовать член dmScale. |
|||||||||||||||||||||||||
DM_COP1ES |
Использовать член dmCop/es. |
|||||||||||||||||||||||||
DM_DEFAULTSOURCE |
Использовать член dmDefaullSource. |
|||||||||||||||||||||||||
DM_PRINTQUALITY |
Использовать член dmPrinf Quality . |
|||||||||||||||||||||||||
DM_COLOR |
Использовать член dmCo/or. |
|||||||||||||||||||||||||
DM_DUPLEX |
Использовать член dmDuplex. |
|||||||||||||||||||||||||
DM_YRESOLUTK)N |
Использовать член dmY Resolution. |
|||||||||||||||||||||||||
DM_nOPTION |
Использовать член dmTTOption. |
|||||||||||||||||||||||||
DM_COUATE |
Использовать член dmCollate. |
|||||||||||||||||||||||||
DM_FORMNAME |
Использовать член dmFormafName. |
|||||||||||||||||||||||||
DMJ.OGPIXELS |
Использовать член dmLogPixels. |
|||||||||||||||||||||||||
DM_BITSPERPEL |
Использовать член dmB/fsPerPe/. |
|||||||||||||||||||||||||
DM_PELSWIDTH |
Использовать член dmPelsWidth. |
|||||||||||||||||||||||||
DM_PELSHEIGHT |
Использовать член dmPe/sHe/gnf. |
|||||||||||||||||||||||||
DM_DISPLAYFLAGS |
Использовать член dmDisplay Flags. |
|||||||||||||||||||||||||
DM_NUP |
Использовать член dmNup. |
|||||||||||||||||||||||||
DM_DBPLAYFREQUENCY |
Использовать член dmD/sp/ay Frequency. |
|||||||||||||||||||||||||
DM_ICMMETHOO |
Использовать член dmICMMethod. |
|||||||||||||||||||||||||
DM_ICMNTENT |
Использовать член dmICMIntent. |
|||||||||||||||||||||||||
OM_MEOIATYPE |
Использовать член dmMediaType. |
|||||||||||||||||||||||||
DM_MTHERTYPE |
Использовать член dmDitherType. |
|||||||||||||||||||||||||
DM_PANNINGWIDTH |
Использовать член dmPanringWidth. |
|||||||||||||||||||||||||
DM_PANNINGHEIGHT |
Использовать член dmParmingHeight . |
|||||||||||||||||||||||||
dmOrientation |
short. Ориентация бумаги. Этот член может иметь значение DMORIENT_PORTRAIT или DMORIENT_LANDSCAPE. |
|||||||||||||||||||||||||
dmPaperSize |
short. Формат бумаги, на которой должна быть выполнена печать. Эт член может иметь одно из значений, перечисленных в табл. 14.4. |
|||||||||||||||||||||||||
Таблица 14.4. Значения члена dmPaperSize структуры DEVMODE |
||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||
DMPAPER_10X14 |
10x14 дюймов. |
|||||||||||||||||||||||||
DMPAPERJ1X17 |
1 1x17 дюймов. |
|||||||||||||||||||||||||
DMPAPER_12X11 |
12x1 1 дюймов. |
|||||||||||||||||||||||||
DMPAPER_A3 |
Лист A3, 297x420 мм. |
|||||||||||||||||||||||||
DMPAPER_A3_ROTATED |
Развернутый лист A3. |
|||||||||||||||||||||||||
DMPAPER_A4 |
Лист А4, 210x297 мм. |
|||||||||||||||||||||||||
DMPAPER_A4_ROTATED |
Развернутый лист А4. |
|||||||||||||||||||||||||
DMPAPER_A4SMALL |
Малый лист А4, 210x297 мм. |
|||||||||||||||||||||||||
DMPAPER_A5 |
Лист А5, 148x210 мм. |
|||||||||||||||||||||||||
DMPAPER_AS_ROTATED |
Развернутый лист А5. |
|||||||||||||||||||||||||
DMPAPER_A6 |
Лист А6, 105x148 мм. |
|||||||||||||||||||||||||
DMPAPER_A6_ROTATED |
Развернутый лист А6. |
|||||||||||||||||||||||||
DMPAPER_B4 |
Лист В4, 250x354 мм. |
|||||||||||||||||||||||||
DMPAPER_B4_JIS_ROTATED |
Развернутый лист В4 (JIS). |
|||||||||||||||||||||||||
DMPAPER_B5 |
Лист В5, 182x257 мм. |
|||||||||||||||||||||||||
DMPAPER_B5_JB_ROTATED |
Развернутый лист В5 (JIS). |
|||||||||||||||||||||||||
DMPAPER_B6_JES |
Лист В6, 128x182 мм. |
|||||||||||||||||||||||||
DMPAPER_B6_JB_ROTATED |
Развернутый лист В6 (JIS). |
|||||||||||||||||||||||||
DMPAPER_CSHEET |
Лист С, 17x22 дюймов. |
|||||||||||||||||||||||||
DMPAPER_DBL_JAPANESE_POSTCARD |
Двойная японская открытка, 200x148 мм. |
|||||||||||||||||||||||||
DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED |
Развернутая двойная японская открытка. |
|||||||||||||||||||||||||
DMPAPER_DSHEET |
Лист D, 22x34 дюймов. |
|||||||||||||||||||||||||
DMPAPER_ENV_9 |
Конверт №9, 3 7/8x8 7/8 дюймов. |
|||||||||||||||||||||||||
DMPAPER_ENV_10 |
Конверт №10, 4 1/8x9 1/2 дюймов. |
|||||||||||||||||||||||||
DMPAPER_ENV_11 |
Конверт №11, 4 1/2x10 3/8 дюймов. |
|||||||||||||||||||||||||
DMPAPERJENV_12 |
Конверт №12, 4 3/4x11 дюймов. |
|||||||||||||||||||||||||
DMPAPER_ENV_14 |
Конверт №14, 5x11 1/2 дюймов. |
|||||||||||||||||||||||||
DMPAPER_ENV_B4 |
Конверт В4, 250x353 мм. |
|||||||||||||||||||||||||
DMPAPER_ENV_B5 |
Конверт В5, 176x250 мм. |
|||||||||||||||||||||||||
DMPAPER_ENV_B6 |
Конверт В6, 176x125 мм. |
|||||||||||||||||||||||||
DMPAPER_ENV_C3 |
Конверт СЗ, 324x458 мм. |
|||||||||||||||||||||||||
DMPAPER_ENV_C4 |
Конверт С4, 229x324 мм. |
|||||||||||||||||||||||||
DMPAPER_ENV_C5 |
Конверт С5, 162x229 мм. |
|||||||||||||||||||||||||
DMPAPER ENV_C6 |
Конверт С6, 114x162 мм. |
|||||||||||||||||||||||||
DMPAPER_ENV_C65 |
Конверт С65, 114x229 мм. |
|||||||||||||||||||||||||
DMPAPER_ENV_DL |
Конверт DL, 110x220 мм. |
|||||||||||||||||||||||||
DMPAPER_ENV_ITALY |
Конверт Italy, 1 1 0x230 мм. |
|||||||||||||||||||||||||
DMPAPER_ENV_MONARCH |
Конверт Monarch, 3 7/8x7 1/2 дюймов. |
|||||||||||||||||||||||||
DMPAPER_ENV_PERSONAL |
Конверт 6 3/4, 3 5/8x6 1 /2 дюймов. |
|||||||||||||||||||||||||
DMPAPER_ESHEET |
Лист Е, 34x44 дюймов. |
|||||||||||||||||||||||||
DMPAPER_EXECUTIVE |
Лист Executive, 7 1/4x10 1/2 дюймов. |
|||||||||||||||||||||||||
DMPAPER_FANFOLD_LGL_GERMAN |
Германский фальцованный лист Legal, 8 1/ 2x13 дюймов. |
|||||||||||||||||||||||||
DMPAPER_FANFOLD_STD_GERMAN |
Германский фальцованный лист Standard, 8 1/ 2x12 дюймов. |
|||||||||||||||||||||||||
DMPAPER_FANFOLD_US |
Американский фальцованный лист Standard, 14 7/8x1 1 дюймов. |
|||||||||||||||||||||||||
DMPAPER_FOLIO |
Лист Folio, 8 1/2x13 дюймов. |
|||||||||||||||||||||||||
DMPAPER_JAPANESE_POSTCARD_ROTATED |
Японская развернутая открытка, 148x100 мм. |
|||||||||||||||||||||||||
DMPAPER_JENV_CHOU3 |
Японский конверт Chou №3. |
|||||||||||||||||||||||||
DMPAPER_JENV_CHOU3_ROTATED |
Развернутый японский конверт Chou №3. |
|||||||||||||||||||||||||
DMPAPER_JENV_CHOU4 |
Японский конверт Chou №4. |
|||||||||||||||||||||||||
DMPAPER_JENV_CHOU4_ROTATED |
Развернутый японский конверт Chou №4. |
|||||||||||||||||||||||||
DMPAPER_JENV_KAKU2 |
Японский конверт Kaku №2. |
|||||||||||||||||||||||||
DMPAPER_JENV_KAKU2_ROTATED |
Развернутый японский конверт Kaku №2. |
|||||||||||||||||||||||||
DMPAPER_JENV_KAKU3 |
Японский конверт Kaku №3. |
|||||||||||||||||||||||||
DMPAPER_JENV_KAKU3_ROTATED |
Развернутый японский конверт Kaku №3. |
|||||||||||||||||||||||||
DMPAPER_JENV_YOU4 |
Японский конверт You №4. |
|||||||||||||||||||||||||
DMPAPER_JENV_YOU4_ROTATED |
Развернутый японский конверт You №4. |
|||||||||||||||||||||||||
DMPAPER_LAST |
Конверт Last. |
|||||||||||||||||||||||||
DMPAPER_LEDGER |
Лист Ledger, 17x11 дюймов. |
|||||||||||||||||||||||||
DMPAPER_LEDGER ROTATED |
Развернутый лист Ledger. |
|||||||||||||||||||||||||
DMPAPER_LEGAL |
Лист Legal, 8 1/2x14 дюймов. |
|||||||||||||||||||||||||
DMPAPER_LETTER |
Лист Letter, 8 1/2x11 дюймов. |
|||||||||||||||||||||||||
DMPAPER_LETTERSMALL |
Малый лист Letter, 8 1/2x11 дюймов. |
|||||||||||||||||||||||||
DMPAPER_NOTE |
Лист Note, 8 1/2x11 дюймов. |
|||||||||||||||||||||||||
DMPAPER_P16K |
Лист PRC 16K, 146x215 мм. |
|||||||||||||||||||||||||
DMPAPER_P16K_ROTATED |
Развернутый лист PRC 16K. |
|||||||||||||||||||||||||
DMPAPER_P32K |
Лист PRC 32K, 97x151 мм. |
|||||||||||||||||||||||||
DMPAPER_P32K_ROTATED |
Развернутый лист PRC 32K. |
|||||||||||||||||||||||||
DMPAPER_P32KBIG |
Лист PRC 32K (большой), 97x151 мм. |
|||||||||||||||||||||||||
DMPAPER_P32KBJG_ROTATED |
Развернутый лист PRC 32K (большой). |
|||||||||||||||||||||||||
DMPAPER_PENV_1 |
Конверт №1 PRC, 102x165 мм. |
|||||||||||||||||||||||||
DMPAPER_PENV_1_ROTATED |
Развернутый конверт №1 PRC. |
|||||||||||||||||||||||||
DMPAPER_PENV_2 |
Конверт №2 PRC, 102x176 мм. |
|||||||||||||||||||||||||
DMPAPER_PENV_2_ROTATED |
Развернутый конверт №2 PRC. |
|||||||||||||||||||||||||
DMPAPER_PENV_3 |
Конверт №3 PRC, 125x176 мм. |
|||||||||||||||||||||||||
DMPAPER_PENV_3_ROTATED |
Развернутый конверт №3 PRC. |
|||||||||||||||||||||||||
DMPAPER_PENV_4 |
Конверт №4 PRC, 110x208 мм. |
|||||||||||||||||||||||||
DMPAPER_PENV_4_ROTATED |
Развернутый конверт №4 PRC. |
|||||||||||||||||||||||||
DMPAPER_PENV_S |
Конверт №5 PRC, 110x220 мм. |
|||||||||||||||||||||||||
DMPAPER_PENV_5_ROTATED |
Развернутый конверт №5 PRC. |
|||||||||||||||||||||||||
DMPAPER_PENV_4 |
Конверт №6 PRC, 120x230 мм. |
|||||||||||||||||||||||||
DMPAPER_PENV_4_ROTATED |
Развернутый конверт №6 PRC. |
|||||||||||||||||||||||||
DMPAPER_PENV_7 |
Конверт №7 PRC, 160x230 мм. |
|||||||||||||||||||||||||
DMPAPER_PENV_7_ROTATED |
Развернутый конверт №7 PRC. |
|||||||||||||||||||||||||
DMPAPER_PENV_8 |
Конверт №8 PRC, 120x309 мм. |
|||||||||||||||||||||||||
DMPAPER_PENV_8_ROTATED |
Развернутый конверт №8 PRC. |
|||||||||||||||||||||||||
DMPAPER_PENV_» |
Конверт №9 PRC, 229x324 мм. |
|||||||||||||||||||||||||
DMPAPER_PENV_»_ROTATH> |
Развернутый конверт №9'PRC. |
|||||||||||||||||||||||||
DMPAPER_PENV_10 |
Конверт №10 PRC, 324x458 мм. |
|||||||||||||||||||||||||
DMPAPER_PENV_10_ROTATED |
Развернутый конверт №10 PRC. |
|||||||||||||||||||||||||
DMPAPER_QUARTO |
Лист Quarto, 215x275 мм. |
|||||||||||||||||||||||||
DMPAPER_STATEMENT |
Лист Statement, 5 1 /2x8 1 /2 дюймов. |
|||||||||||||||||||||||||
DMPAPER_TABLOD |
Лист Tabloid, 11x17 дюймов. |
|||||||||||||||||||||||||
DMPAPER_USER |
Формат бумаги, определяемый пользователем. Размеры должны быть указаны членами dmPaperLengfn и dmPaperWidfh. |
|||||||||||||||||||||||||
dmPaperLength |
short. Длина бумаги книжной ориентации (в десятых долях миллиметра). Член dmPaperSize должен указывать значение DMPAPER_USER; в ином случае значение этого члена игнорируется. |
|||||||||||||||||||||||||
dmPaperWldth |
short. Ширина бумаги книжной ориентации (в десятых долях миллиметра). Член dmPaperSize должен указывать значение DMPAPER_USER; в ином случае значение этого члена игнорируется. |
|||||||||||||||||||||||||
dmPosition |
POINTL. Применяется только для устройств отображения. Структура POINTL указывает позиционные координаты устройства отображения относительно области рабочего стола. Основное устройство всегда имеет координаты (0,0). |
|||||||||||||||||||||||||
dmScale |
short. Коэффициент масштабирования печатного вывода. Кажущийся формат страницы масштабируется относительно физического формата страницы на коэффициент dmScale/lQQ. |
|||||||||||||||||||||||||
dmCopies |
short. Число напечатанных копий, если устройство поддерживает многостраничные копии. |
|||||||||||||||||||||||||
dmDefaultSomrct |
short. Заданный по умолчанию магазин бумагоподающего устройства, из которого подается бумага. Этот член может иметь одно из заранее определенных значений, приведенных в табл. 14.5, или значение, определяемое драйвером, которое превышает значение DMBIN_USER |
|||||||||||||||||||||||||
dmPrintQuattty |
short. Разрешающая способность принтера. В табл. 14.6 перечислены четыре заранее определенных значения, не зависящих от устройства. Если дано положительное значение, оно указывает число точек на дюйм (DPI — dots per inch) и поэтому зависит от устройства. Этот член управляет только графической разрешающей способностью. Эта установка не воздействует на текст, .если текст не печатается как графика |
|||||||||||||||||||||||||
Таблица 14.5. Значения члена dmDefaultSource структуры DEVMODE |
||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||
DMBIN_AUTO |
Автоматический выбор магазина бумагоподающего устройства |
|||||||||||||||||||||||||
DMBIN_CASSETTE |
Кассета с бумагой |
|||||||||||||||||||||||||
DMBIN_ENVELOPE |
Самонаклад для конвертов |
|||||||||||||||||||||||||
DMBW_ENVMANUAL |
Самонаклад для конвертов с ручным приводом |
|||||||||||||||||||||||||
DMBIN_FORMSOURCE |
Листоподающее устройство для бланков |
|||||||||||||||||||||||||
DMBIN_LARGECAPACITY |
Магазин бумагоподающего устройства большой емкости |
|||||||||||||||||||||||||
DMBIN_LARGEFMT |
Листоподающее устройство большой емкости |
|||||||||||||||||||||||||
DMBIN_LOWER |
Нижний магазин бумагоподающего устройства |
|||||||||||||||||||||||||
DMBIN_MANUAL |
Самонаклад с ручным приводом |
|||||||||||||||||||||||||
DMBN_MDDLE |
Средний магазин бумагоподающего устройства |
|||||||||||||||||||||||||
DMBIN_ONLYONE |
Только одно Листоподающее устройство |
|||||||||||||||||||||||||
DMBIN_SMALLFMT |
Листоподающее устройство малой емкости |
|||||||||||||||||||||||||
DMBIN_TRACTOR |
Листоподающее устройство с цепным приводом |
|||||||||||||||||||||||||
DMBW_UPPER |
Верхний магазин бумагоподающего устройства |
|||||||||||||||||||||||||
Таблица 14.6. Значения члена dmPrintQualrty структуры DEVMODE |
||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||
DMRES_HIGH |
Высокая разрешающая способность |
|||||||||||||||||||||||||
DMRES_MEDMM |
Средняя разрешающая способность |
|||||||||||||||||||||||||
DMRES_LOW |
Низкая разрешающая способность |
|||||||||||||||||||||||||
DMRES_DRAFT |
Разрешающая способность черновой печати |
|||||||||||||||||||||||||
dmColor |
short. Позволяет определить, использовать ли на цветном принтере цветную или монохромную печать. Этот параметр может иметь значение DMCOLOR_COLOR или DMCOLOR_MONOCHROME. |
|||||||||||||||||||||||||
dmDuplex |
short. Устанавливается в одно из значений, приведенных в табл. 14.7, для указания того, какой тип двухсторонней (или дуплексной) печати должен использоваться на принтере, позволяющем выполнять двустороннюю печать. |
|||||||||||||||||||||||||
dmYResobaitm |
short. Разрешающая способность принтера по оси у (в точках на дюйм). Если этот член инициализирован для данного принтера, то член dmPrint-Quality указывает разрешающую способность принтера по оси д: (в точках на дюйм). |
|||||||||||||||||||||||||
dmnOption |
short. Указывает, как должна выполняться печать шрифтов TrueType. В качестве этого параметра может быть установлено одно из значений в табл. 14.8. |
|||||||||||||||||||||||||
Таблица 14.7, Значения члена dmDuplex структуры DEVMODE |
||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||
DMDUP_SIMPLEX |
Двусторонняя печать не применяется |
|||||||||||||||||||||||||
DMDUP_HORIZONTAL |
Двусторонняя печать с обращением листа по горизонтали (вдоль длинного края) |
|||||||||||||||||||||||||
DMDUP_VERTICAL |
Двусторонняя печать с обращением листа по вертикали (вдоль короткого края) |
|||||||||||||||||||||||||
Таблица 14.8. Значения члена dmTTOption структуры DEVMODE |
||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||
DMTT_BITMAP |
Печатать шрифты TrueType как графику. Это значение указывает на заданное по умолчанию действие для матричных принтеров. |
|||||||||||||||||||||||||
DMTT_DOWNLOAD |
Считывать в память принтера шрифты TrueType как загружаемые. Это значение указывает на заданное по умолчанию действие для принтеров Hewlett-Packard, в которых используется язык управления принтером (PCL — Printer Control Language). |
|||||||||||||||||||||||||
DMTT_DOWNLOAD_OUTLINE |
Считывать в память принтера шрифты TrueType как контурные загружаемые шрифты. |
|||||||||||||||||||||||||
DMTT_SUBDEV |
Заменять шрифты TrueType шрифтами устройства. Это значение указывает на заданное по умолчанию действие для принтеров PostScript. |
|||||||||||||||||||||||||
dmCollate |
short. Устанавливается равным DMCOLLATEJTRUE для использования подборки копий при печати нескольких копий. Если подборка копий не требуется, должно быть установлено значение DMCOLLATE_FALSE. Использование флажка DMCOLLATE_FALSE обеспечивает более быстрый и эффективный вывод на принтерах, позволяющих печатать несколько копий, поскольку данные при этом отправляются на постранично-печатаю-щее устройство только один раз, независимо от числа копий. Принтер просто получает сообщение, что страницу нужно напечатать еще раз. |
|||||||||||||||||||||||||
dm Form Name |
TCHAR[CCHFORMNAME]. Название используемого формата (например, "Letter" или "Legal"). Этот член в Windows 98 не поддерживается. |
|||||||||||||||||||||||||
dmLogPixels |
WORD. Число пикселей на логический дюйм. |
|||||||||||||||||||||||||
dmBitsPerPel |
DWORD. Цветовая разрешающая способность устройства отображения, в битах на пиксель (например, 4 бита для 16 цветов, 8 битов для 256 цветов или 16 битов для 65536 цветов). Этот член не поддерживается в Windows 98. |
|||||||||||||||||||||||||
dmPelsWidth |
DWORD. Ширина видимой поверхности устройства, в пикселях. Этот член не поддерживается в Windows 98. |
|||||||||||||||||||||||||
dmPelsHeight |
DWORD. Высота видимой поверхности устройства в пикселях. Этот член не поддерживается в Windows 98. |
|||||||||||||||||||||||||
dmDisplay Flags |
DWORD. Режим визуального отображения устройства. Этот параметр может иметь одно из значений, перечисленных в табл. 14.9. |
|||||||||||||||||||||||||
Таблица 14.9. Значения члена dmDisplayRags структуры DEVMODE |
||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||
DM_GRAYSCALE |
Дисплей не является цветным. Если это значение не указано, дисплей считается цветным. |
|||||||||||||||||||||||||
DMJNTERLACED |
Дисплей поддерживает режим строчной развертки с чередованием. Если это значение не указано, подразумевается режим строчной развертки без чередования. |
|||||||||||||||||||||||||
dmNup |
DWORD. Устанавливается равным DMNUP_SYSTEM, если принте{ обеспечивает печать нескольких страниц документа на одной печатно! странице; в ином случае устанавливается равным DMNUP_ONEUP. |
|||||||||||||||||||||||||
dmDisplayfnq»encyDWORD. Частота развертки устройства отображения в конкретном режиме в герцах (Гц). Этот член в Windows 98 не поддерживается. |
||||||||||||||||||||||||||
dmlCMMelkod |
DWORD. Если в приложении не применяются функции ICM (Image Colo Matching — Согласование цветов изображения), этот член должен тольк< указывать, разрешены ли функции ICM. Если же в приложении применя ются функции ICM, система Windows анализирует этот член, определя: способ поддержки ICM. Этот член может иметь одно из заранее опреде ленных значений, перечисленных в табл. 14.10, или значение, определя емое драйвером, которое превышает значение DMICMMETHOD_USER Драйвер принтера должен предоставлять пользовательский интерфейс дл: настройки значения этого члена. Большинство драйверов принтеров под держивает только значение DMICMMETHOD_SYSTEM или DMICMMETHOD_NONE. Драйверы для принтеров PostScript поддержи вают все значения. |
|||||||||||||||||||||||||
Таблица 14. 10. Значения члена dmICMMethod структуры DEVMODE |
||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||
DMICMMETHOD_DEV1CE |
Поддержка ICM осуществляется устройством назначения. |
|||||||||||||||||||||||||
DMICMMETHOD DRIVER |
Поддержка ICM осуществляется драйвером устройства. |
|||||||||||||||||||||||||
DMICMMETHOD NONE |
Поддержка ICM запрещена. |
|||||||||||||||||||||||||
DMICMMETHOD_SYSTEM |
Поддержка ICM осуществляется системой Windows. |
|||||||||||||||||||||||||
dmICMIntent |
DWORD. Указывает, какой из трех возможных методов согласования цве тов (эти методы называются также "назначениями"), должен использован ся по умолчанию. Этот член в основном предназначен для приложения не обеспечивающих ICM. В приложениях ICM назначения устанавлива ются с помощью функций ICM. Этот член может иметь одно из заране определенных значений, приведенных в табл. 14.11, или значение, опре деляемое драйвером, которое превышает значение DMICM_USER |
|||||||||||||||||||||||||
dmMediaType |
DWORD. Тип носителя, на котором выполняется печать. Этот член мо жег иметь одно из заранее определенных значений, приведенных в таб; 14.12, или значение, определяемое драйвером, которое превышает значе ние DMMEDIA_USER |
|||||||||||||||||||||||||
Таблица 14.11. Значения члена dmICMIntent структуры DEVMODE |
||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||
DMICM_ABS_COLORIMETRIC |
Согласование цветов должно быть оптимизировано для обеспечения точного соответствия затребованному цвету, без отображения белых точек. Это значение является наиболее подходящим для использования при получении пробных оттисков. |
|||||||||||||||||||||||||
DMICM COLORMETRIC |
Согласование цветов должно быть оптимизировано для обеспечения точного соответствия затребованному цвету. Это значение является наиболее подходящим для использования при печати логотипов деловых предприятий или других изображений, для которых требуется точное соответствие цветов. |
|||||||||||||||||||||||||
DMICM_CONTRAST |
Согласование цветов должно быть оптимизировано для передачи контраста цветов. Это значение является наиболее подходящим для использования при печати отсканированных или фотографических изображений, когда требуется передача полутонов. |
|||||||||||||||||||||||||
DMICM_SATURATE |
Согласование цветов должно быть оптимизировано для передачи насыщенности цвета. Это значение является наиболее подходящим для печати деловых графиков, когда передача полутонов нежелательна. |
|||||||||||||||||||||||||
Таблица 14. 12. Значения члена dmMediaType структуры DEVMODE |
||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||
DMMEDIA_STANDARD |
Обычная бумага |
|||||||||||||||||||||||||
DMMECHA_GLOSSY |
Глянцевая бумага |
|||||||||||||||||||||||||
DMMEDIA_TRANSPARENCY |
Прозрачная пленка |
|||||||||||||||||||||||||
dmDitherType |
DWORD. Указывает, как должна осуществляться передача полутонов. Этот член может иметь одно из заранее определенных значений, перечисленных в табл. 14.13, или значение, определяемое драйвером, которое превышает значение DMDITHER_USER. |
|||||||||||||||||||||||||
Таблица 14. 13. Значения члена dmMediaType структуры DEVMODE |
||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||
DMDITHER_NONE |
Передача полутонов не предусмотрена. |
|||||||||||||||||||||||||
DMDTTHER_COARSE |
Передача полутонов с помощью крупной кисти. |
|||||||||||||||||||||||||
DMDITHER_RNE |
Передача полутонов с помощью тонкой кисти. |
|||||||||||||||||||||||||
DMDfTHERJJNEART |
Штриховая передача полутонов. Специальный метод передачи полутонов, при котором происходит четкое разграничение между черными, белыми и полутоновыми участками. Этот метод не подходит для изображений, которые характеризуются плавным изменением интенсивности и оттенка, например отсканированных фотографий. |
|||||||||||||||||||||||||
DMDITHER_ERRORDIFFUSION |
(Windows 98) Использовать алгоритм рассредоточения ошибок для лучшей передачи полутонов. |
|||||||||||||||||||||||||
DMDITHER_GRAYSCALE |
Передачу полутонов обеспечивает устройство. |
|||||||||||||||||||||||||
dmReservedl |
DWORD. Неиспользуемое значение; должно быть установлено равным 0. |
|||||||||||||||||||||||||
dmReserved2 |
DWORD. Неиспользуемое значение; должно быть установлено равным 0. |
|||||||||||||||||||||||||
dmPanningWidth |
DWORD. Должно быть установлено равным 0. |
|||||||||||||||||||||||||
dmPanningHeight |
DWORD. Должно быть установлено равным 0. |
|||||||||||||||||||||||||
Пример |
В следующем примере показано, как использовать функцию DeviceCapabilities, чтобы определить, поддерживает ли принтер замену шрифтов. Это — средство, которое поддерживают многие принтеры PostScript. |
|||||||||||||||||||||||||
Ос. \local-sources\chapl4\14-02.txt |
||||||||||||||||||||||||||
EndDoc • Windows 98 • Windows 2000 |
||||||||||||||||||||||||||
Описание |
Функция EndDoc заканчивает задание на печать, начатое с помощью функции StartDoc. Обычно печать документа из очереди печати начинается после вызова функции EndDoc. Эта функция заменяет управляющий код принтера ENDDOC. |
|||||||||||||||||||||||||
Синтаксис |
int EndDoc( HOC hDC) |
|||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||
HOC |
HOC. Контекст устройства для задания на печать. |
|||||||||||||||||||||||||
Возвращаемое значение |
int. В случае успешного выполнения, возвращаемое значение больше нуЯя; в ином случае возвращаемое значение — SP_ERROR. |
|||||||||||||||||||||||||
Включаемый файл |
wingdi.h |
|||||||||||||||||||||||||
См. также |
StartDoc, AbortDoc |
|||||||||||||||||||||||||
Пример |
См. пример для функции EndPage. |
|||||||||||||||||||||||||
EndPaqe • Windows 98 • Windows 2000 |
||||||||||||||||||||||||||
Описание |
Функция EndPage извещает устройство о том, что приложение завершило запись страницы. Эта функция обычно применяется в сочетании с функцией StartPage для перехода на новую страницу. Данная функция заменяет управляющий код принтера NEWFRAME. Для каждой новой страницы в приложении необходимо определить контекст устройства с соответствующими установками. Это связано с тем, что в Windows 98 при переходе от одной страницы к другой установки не сохраняются. |
|||||||||||||||||||||||||
Синтаксис |
int EndPage( HDC HOC) |
|||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||
НОС |
HDC. Контекст устройства для задания на печать. |
|||||||||||||||||||||||||
Возвращаемое значение |
int. В случае успешного выполнения возвращаемое значение больше HfW; в ином случае возвращаемое значение — SP_ERROR. |
|||||||||||||||||||||||||
Включаемый файл |
wingdi.h |
|||||||||||||||||||||||||
См. также |
StartPage, EndDoc |
|||||||||||||||||||||||||
Пример |
В следующем примере выполняется вывод двух страниц на принтер, называемый "HP Laser Printer", когда пользователь выбирает пункт меню Test!. Обратите внимание, что вывод каждой страницы начинается с вызова функции StartPage и заканчивается вызовом функции EndPage. |
|||||||||||||||||||||||||
Си. \local -sources \ chapl 4\14-03.txt |
||||||||||||||||||||||||||
Escape • Windows 98 • Windows 2000 |
||||||||||||||||||||||||||
Описание |
Функция Escape позволяет получить в приложении доступ к возможностям устройства, которые не являются непосредственно доступными с помощью функций GDI. Вызовы функции Escape, выполненные в приложении, преобразуются и направляются прямо в драйвер. API Win32 определяет функции GDI, которые заменяют большую часть управляющих кодов принтера, предусмотренных в API Windows 3.x. Эти новые функции должны применяться вместо управляющих кодов принтера. |
|||||||||||||||||||||||||
Синтаксис |
int Escape( HDC hDC, int nEscape, int cblnput, LPCTSTR IpvInData, LPVOID IpvOutData ) |
|||||||||||||||||||||||||
Параметры hDC |
HDC. Контекст устройства, которое должно принять управляющий код. |
|||||||||||||||||||||||||
nEscape |
int Функция управляющего кода, которая должна быть выполнена. В приложениях на основе Win32 можно использовать только два управляющих кода, приведенных в табл. 14.14. Если в приложении определено приватное значение управляющего кода, то в нем должна использоваться функция Ext Escape. Описание управляющих кодов приведено ниже. |
|||||||||||||||||||||||||
Таблица 14. 14. Значения параметра nEscape функции Escape |
||||||||||||||||||||||||||
Управляющий кол |
Описание |
|||||||||||||||||||||||||
PASSTHROUGH |
Позволяет приложению посылать данные непосредственно на принтер. |
|||||||||||||||||||||||||
QUERYESCSUPPORT |
Определяет, реализован ли в драйвере устройства конкретный управляющий код. |
|||||||||||||||||||||||||
cblnput |
int. Число байтов данных, указанных параметром IpvInData. |
|||||||||||||||||||||||||
IpvInData |
LPCTSTR Указатель на буфер данных, содержащий информацию, которая должна быть отправлена на устройство. |
|||||||||||||||||||||||||
IpvOutData |
LPVOID. Указатель на структуру данных, которая должна принять данные, возвращенные в результате вызова функции Escape. Устанавливается равным NULL, если в результате вызова не должны быть возвращены какие-либо данные. |
|||||||||||||||||||||||||
Возвращаемое значение |
int. В случае успешного выполнения функция возвращает одно из значений, описанных в приведенных ниже определениях управляющих кодов. Возвращаемое значение меньше нуля указывает на ошибку. Возможные коды ошибок приведены в табл. 14.15. |
|||||||||||||||||||||||||
Включаемый файл |
wingdi.h |
|||||||||||||||||||||||||
См. также |
AbortDoc, EndDoc, EndPage, SetAbortProc, StartDoc, StartPage, GetDeviceCaps, DeviceCapabilities, ResetDC, Ext Escape |
|||||||||||||||||||||||||
Таблица 14. 15. Коды ошибок функции Escape |
||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||
SP ERROR |
Общая ошибка. |
|||||||||||||||||||||||||
SP_OUTOFDISK |
В настоящее время нет достаточного объема дискового пространства для буферизации и нельзя рассчитывать на появление дополнительного пространства. |
|||||||||||||||||||||||||
SP_OUTOFMEMORY |
Нет достаточного объема памяти для буферизации |
|||||||||||||||||||||||||
SP_USERABORT |
Пользователь завершил задание с помощью диспетчера печати Windows Print Manager. |
|||||||||||||||||||||||||
Определение управляющего кода PASSTHROUGH |
||||||||||||||||||||||||||
Описание |
Управляющий код принтера PASSTHROUGH позволяет отправлять в при ложении данные непосредственно на принтер, обходя стандартный ко» драйвера печати. Для использования этого управляющего кода в приложе нии необходимо иметь полную информацию о том, как работает принтер ' Настоятельно рекомендуется не выполнять в приложениях действия, которые занимают память принтера, например загружать шрифт или макрокоманду. Для предотвращения нарушения потока данных при передач* последовательных управляющих кодов PASSTHROUGH приложение вс время выполнения этой последовательности не должно обращаться 1 принтеру каким-то иным способом. |
|||||||||||||||||||||||||
Синтаксис |
int Escape( HDC hDC, PASSTHROUGH, NULL, LPCSTR IpInData, NULL) |
|||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||
hDC |
HDC. Обозначает контекст устройства. |
|||||||||||||||||||||||||
IpInData |
LPCSTR. Указатель на структуру, первое слово которой (16 битов) содержит число байтов входных данных. Остальные байты структуры содержат сами данные. |
|||||||||||||||||||||||||
Возвращаемое значение |
int. Число байтов, переданных на принтер. Возвращаемое значение меньше нуля или равно 0, если функция не была выполнена успешно. |
|||||||||||||||||||||||||
Определение управляющего кода QUERYESCSUPPORT |
||||||||||||||||||||||||||
Описание |
Управляющий код принтера QUERYESCSUPPORT позволяет в приложении определить, поддерживается ли драйвером устройства конкретный управляющий код. |
|||||||||||||||||||||||||
Синтаксис |
int Escape( HDC hDC, QUERYESCSUPPORT, sizeof(int), LPINT IpEscNum, NULL ) |
|||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||
hDC |
HDC. Обозначает контекст устройства. |
|||||||||||||||||||||||||
IpEscNum |
LPINT. Указатель на целое число, обозначающее функцию управляющего кода, которая должна быть проверена. |
|||||||||||||||||||||||||
Возвращаемое значение |
int. Отлично от нуля, если поддерживается данный управляющий код; в; ином случае — 0. |
|||||||||||||||||||||||||
Пример |
В следующем примере показано использование управляющего кода PASSTHROUGH для отправки на принтер данных. Когда пользовател! выбирает пункт меню Test!, на принтер отправляются три копии двухстраничной распечатки. Число копий устанавливается с помощью управляю- |
|||||||||||||||||||||||||
шего кода PASSTHROUGH. Обратите внимание, что результаты выполнения этого примера в значительной степени зависят от конкретной модели принтера. В этом примере показано, как работает функция Escape, но это — не самый лучший способ установки числа копий, которые должны быть напечатаны. Вместо этого для указания числа копий следует использовать структуру DEVMODE с функцией CreateDC. |
||||||||||||||||||||||||||
См. \local-sources\cbapl4\14-04.txt |
||||||||||||||||||||||||||
ExtEscape • Windows 98 • Windows 2000 |
||||||||||||||||||||||||||
Описание |
Функция ExtEscape позволяет в приложении получить доступ к возможностям устройства, которыми нельзя воспользоваться с помощью функций GDI или управляющих кодов, определенных в Windows. |
|||||||||||||||||||||||||
Синтаксис . |
int ExtEscape( HDC hDC, int nEscape, int cblnput, LPCSTR IpszInData, int cbOutput, LPSTR IpszOutData ) |
|||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||
HOC |
HDC. Контекст устройства, которое должно принять управляющий код. |
|||||||||||||||||||||||||
nEscape |
int. Функция управляющего кода, которая должна быть выполнена. Этот параметр может иметь одно из значений, перечисленных в разделе с описанием функций управляющих кодов табл. 14.14, или одно из значений, перечисленных в табл. 14.16. |
|||||||||||||||||||||||||
Таблица 14. 16. Значения параметра nEscape функции ExtEscape |
||||||||||||||||||||||||||
Управляющий кол |
Описание |
|||||||||||||||||||||||||
CHECKJPEGFORMAT |
(Windows 2000) Проверить, обеспечивает ли принтер поддержку изображений JPEG. |
|||||||||||||||||||||||||
CHECKPNGFORMAT |
(Windows 2000) Проверить, обеспечивает ли принтер поддержку изображений PNG. |
|||||||||||||||||||||||||
DRAWPATTERNRECT |
Вывести белый, полутоновый или черный прямоугольник. |
|||||||||||||||||||||||||
GET_PS_FEATURESETTING |
(Windows 2000) Получить информацию об установке указанного средства драйвера PostScript. |
|||||||||||||||||||||||||
POSTSCRIPT_DATA |
Отправить данные непосредственно на принтер. Поддерживается только в режиме совместимости. |
|||||||||||||||||||||||||
POSTSCRIPTJDENTITY |
(Windows 2000) Установить драйвер PostScript в режим выполнения функций GDI или PostScript. |
|||||||||||||||||||||||||
POSTSCRIPTJNJECTION |
(Windows 2000) Вставить блок произвольных данных в поток заданий PostScript. |
|||||||||||||||||||||||||
POSTSCRIPT_PASSTHROUGH |
(Windows 2000) Отправить данные непосредственно драйверу принтера PostScript. Поддерживается в режиме совместимости или в режиме выполнения функций PS. |
|||||||||||||||||||||||||
cblnput |
int. Число байтов данных, указанных параметром IpszInData. |
|||||||||||||||||||||||||
IpszInData |
LPCSTR. Указатель на структуру ввода, необходимую для указанного управляющего кода. |
|||||||||||||||||||||||||
cbOutput |
int. Число байтов данных, указанных параметром IpszOutData. |
|||||||||||||||||||||||||
IpszOutData |
LPSTR. Указатель на структуру, которая принимает вывод, полученный в результате выполнения управляющего кода. Если управляющий код |
|||||||||||||||||||||||||
представляет собой запрос, этот параметр не должен быть равен NULL. Если в этой структуре не должны быть возвращены данные, параметр cbOutput должен быть установлен равным 0. |
||||||||||||||||||||||||||
Возвращаемое значение |
int. Результат выполнения функции. В случае успешного выполнения функции возвращаемое значение больше или равно нулю. В ином случае возвращаемое значение меньше нуля указывает на ошибку. |
|||||||||||||||||||||||||
Включаемый файл |
wingdi.h |
|||||||||||||||||||||||||
См. также |
Escape |
|||||||||||||||||||||||||
Определение управляющего кода CHECKJPEGFORMAT |
||||||||||||||||||||||||||
Описание |
Управляющий код принтера CHECKJPEGFORMAT определяет, может ли принтер обрабатывать изображение JPEG. |
|||||||||||||||||||||||||
Синтаксис |
int ExtEscape( HDC hDC, CHECKJPEGFORMAT, int cblnput, LPCSTR IpInData, sizeof( DWORD), LPSTR IpszOutData ) |
|||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||
hDC |
HDC. Обозначает контекст устройства. |
|||||||||||||||||||||||||
cblnput |
int. Размер изображения JPEG в байтах. |
|||||||||||||||||||||||||
lp In Data |
LPCSTR Указатель на буфер, содержащий изображение JPEG. |
|||||||||||||||||||||||||
IpszOutData |
LPSTR. Указатель на переменную DWORD, которая принимает результаты выполнения функции. Если принтер может обрабатывать изображение указанного типа, возвращаемое значение — 1; в ином случае возвращаемое значение — нуль. |
|||||||||||||||||||||||||
Возвращаемое значение |
int. В случае успешного выполнения, возвращаемое значение больше нуля. Если функция терпит неудачу или эта опция не поддерживается, возвращаемое значение меньше или равно нулю. |
|||||||||||||||||||||||||
Определение уп |
фавляющего кода CHECKPNGFORMAT |
|||||||||||||||||||||||||
Описание |
Управляющий код принтера CHECKPNGFORMAT определяет, может ли принтер обрабатывать изображения PNG. |
|||||||||||||||||||||||||
Синтаксис |
int ExtEscape( HDC hDC, CHECKPNGFORMAT, int cblnput, LPCSTR IpInData, sizeof( DWORD), LPSTR IpszOutData ) |
|||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||
hDC |
HDC. Обозначает контекст устройства. |
|||||||||||||||||||||||||
cblnput |
int. Размер изображения PNG, в байтах. |
|||||||||||||||||||||||||
IpInData |
LPCSTR Указатель на буфер, содержащий изображение PNG. |
|||||||||||||||||||||||||
IpszOutData |
LPSTR. Указатель на переменную DWORD, которая принимает результаты выполнения функции. Если принтер может обрабатывать изображение указанного типа, возвращаемое значение — 1; в ином случае возвращаемое значение — нуль. |
|||||||||||||||||||||||||
Возвращаемое значение |
int. В случае успешного выполнения, возвращаемое значение больше нуля. Если функция терпит неудачу или эта опция не поддерживается, возвращаемое значение меньше или равно нулю. |
|||||||||||||||||||||||||
Определение управляющего кода DRAWPATTERNRECT |
||||||||||||||||||||||||||
Описание |
Управляющий код принтера DRAWPATTERNRECT позволяет создать белую, полутоновую или черную прямоугольную область с использованием возможности задания шаблонов и правил языка управления принтером (PCL — Printer Control Language). |
|||||||||||||||||||||||||
Синтаксис |
int ExtEscape( HDC hDC, DRAWPATTERNRECT, sizeof( DRAWPATRECT ), LPCSTR IpInData, 0, NULL ) |
|||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||
hDC |
HDC. Обозначает контекст устройства. |
|||||||||||||||||||||||||
IpInData |
LPCSTR. Указатель на структуру DRAWPATRECT, которая описывает прямоугольную область. |
|||||||||||||||||||||||||
Возвращаемое значение |
int. В случае успешного выполнения возвращаемое значение — 1 ; в ином случае возвращаемое значение — нуль. |
|||||||||||||||||||||||||
Определение DRAWPATRECTtypedef struct DRAWPATRECT { POINT ptPosition; POINT ptSize; WORD wStyle; WORD wPattern; } DRAWPATRECT, *PDRAWPATRECT; |
||||||||||||||||||||||||||
Члены |
||||||||||||||||||||||||||
ptPosition |
POINT. Левый верхний угол прямоугольной области. |
|||||||||||||||||||||||||
ptSize |
POINT. Правый нижний угол прямоугольной области. |
|||||||||||||||||||||||||
wStyle |
WORD. Устанавливается равным 0 для обозначения черной прямоугольной области, 1 — белой прямоугольной области, или 2 — серой прямоугольной области. |
|||||||||||||||||||||||||
wPattern |
WORD. Доля серого в цвете прямоугольника в процентах (0—100). Здесь 0 обозначает белый прямоугольник, а 100 — черный прямоугольник. |
|||||||||||||||||||||||||
Определение yправляющего кода GET_PS_FEATURESETTING |
||||||||||||||||||||||||||
Описание |
Управляющий код принтера GET_PS_FEATURESETTING позволяет получить информацию о конкретном средстве, установленном для драйвера PostScript. Это средство поддерживается, только если драйвер PostScript находится в режиме выполнения функций PostScript или функций GDI. |
|||||||||||||||||||||||||
Синтаксис |
int ExtEscape( HDC hDC, GET_PS_FEATURESETTING, sizeof(INT), LPCSTR IpInData, INT cbOutput, LPSTR IpszOutData ) |
|||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||
hDC |
HDC. Обозначает контекст устройства. |
|||||||||||||||||||||||||
IpInData |
LPCSTR. Указатель на переменную, обозначающую средство, о котором должна быть получена информация. Этот параметр может иметь одно из значений, перечисленных в табл. 14.17. |
|||||||||||||||||||||||||
cbOutput |
INT. Размер буфера IpszOutData в байтах. |
|||||||||||||||||||||||||
Таблица 14.17. Значения члена IpInData управляющего кода GET_PS_FEATURESETTING |
||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||
FEATURESETTING_CUSTPAPER |
Получить информацию о характеристиках бумаги, определяемых пользователем. Значение параметра cbOutput должно быть установлено равным sizeof(PSFEATURE_CUSTPAPER), а параметр /psaOufData должен указывать на структуру PSFE ATURE_CUSTP APER . |
|||||||||||||||||||||||||
FEATURESETTING_MIRROR |
Получить информацию об установке зеркального отображения вывода. Значение параметра cbOufpuf должно быть установлено равным sizeof(BOOL), а параметр IpszOutData должен указывать на переменную типа BOOL, которая принимает значение TRUE, если включена установка зеркального отображения вывода; в ином случае принимает значение FALSE. |
|||||||||||||||||||||||||
FEATURESETTING_NEGATIVE |
Получить информацию об установке негативного вывода. Значение параметра cbOufpuf должно быть установлено равным sizeof(BOOL), а параметр IpszOutData должен указывать на переменную типа BOOL, которая принимает значение TRUE, если включена установка негативного вывода; в ином случае принимает значение FALSE. |
|||||||||||||||||||||||||
FEATURESETTING_NUP |
Получить информацию о компоновке страницы. Значение параметра cbOufpuf должно быть установлено равным sizeof(BOOL), а параметр IpszOutData должен указывать на переменную типа BOOL, которая принимает значение TRUE, если принтер обеспечивает печать нескольких страниц документа на одной печатной странице; в ином случае принимает значение FALSE. |
|||||||||||||||||||||||||
FEATURESETTJNG_OUTPUT |
Получить информацию об опциях вывода драйвера PostScript. Значение параметра cbOufpuf должно быть установлено равным sizeof(PSFEATURE_OUTPUT), а параметр IpszOutData должен указывать на структуру PSFEATURE_OUTPUT. |
|||||||||||||||||||||||||
FEATURESETTING_PROTOCOL |
Получить информацию об установке протокола вывода. Значение параметра cbOufpuf должно быть установлено равным sizeof(INT), а параметр IpszOutData должен указывать на переменную типа INT. Протокол вывода может иметь значение PSPROTOCOL ASCII, PSPROTOCOL BCP, PSPROTOCOL ТВСР или PSPROTOCOL_BIN AR Y . |
|||||||||||||||||||||||||
FEATIN****NG_PSLEYEL |
Определить уровень языка PostScript. Значение параметра cbOufpuf должно быть установлено равным sizeof(INT), a параметр IpszOutData должен указывать на переменную типа INT, которая принимает данные об уровне PostScript. |
|||||||||||||||||||||||||
IpszOutData |
LPSTR. Указатель на буфер, который принимает результаты выполнения данной функции управляющего кода. Тип полученных результатов вывода зависит от значения параметра IpszInData. |
|||||||||||||||||||||||||
Возвращаемое значение |
int. В случае успешного выполнения возвращаемое значение — больше нуля; в ином случае возвращаемое значение — меньше или равно нулю.. |
|||||||||||||||||||||||||
Определение PSFEATURE_CUSTPAPERtypedef Struct PSFEATURE CUSTPAPER{ LONG lOrientation; LONG IWidth; LONG IHeight; LONG IWidthOffset; LONG IHeightOffset; } PSFEATURE_CUSTPAPER, *PPSFE*TURE_CU8TPAPER |
||||||||||||||||||||||||||
Члены |
||||||||||||||||||||||||||
lOrientation |
LONG. Определяемая пользователем ориентация бумаги. Этот параметр может иметь значение от 0 до 3, если выбраны размеры страницы, опре- |
|||||||||||||||||||||||||
деляемые пользователем. В ином случае возвращаемое значение равно -1, и все другие члены структуры равны нулю. |
||||||||||||||||||||||||||
IWidlh |
LONG. Определяемая пользователем ширина страницы, в пунктах. |
|||||||||||||||||||||||||
IHeight |
LONG. Определяемая пользователем высота страницы, в пунктах. |
|||||||||||||||||||||||||
IWidthOffset |
LONG. Определяемое пользователем смещение ширины страницы, в пунктах. |
|||||||||||||||||||||||||
IHeightOffset |
LONG. Определяемое пользователем смещение высоты страницы, в пунктах. |
|||||||||||||||||||||||||
Определение PSFEATURE_OUTPUTtypedef struct PSFEATURE OUTPUT { BOOL bPagelndependent ; BOOL bSetPageDevice; } PSFEATURE_OUTPUT , *PPSFEATORE OUTPUT; |
||||||||||||||||||||||||||
Члены |
||||||||||||||||||||||||||
bPagelndependent |
||||||||||||||||||||||||||
BOOL. Устанавливается равным TRUE, если вывод PostScript не зависит от страницы, или FALSE, если вывод PostScript зависит от страницы. |
||||||||||||||||||||||||||
bSetPageDevice |
1 BOOL. Устанавливается равным TRUE, если код средства принтера включен, или FALSE, если все коды средств принтера подавлены. |
|||||||||||||||||||||||||
Определение управляющего кода POSTSCRIPT DATA |
||||||||||||||||||||||||||
Описание |
Управляющий код принтера POSTSCRIPT_DATA отправляет данные непосредственно в драйвер принтера. |
|||||||||||||||||||||||||
Синтаксис |
int ExtEscape( HDC hDC, POSTSCRIPT DATA, int cblnput, LPCSTR IpszInData, 0, NULL ) |
|||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||
hDC |
HDC. Обозначает контекст устройства. |
|||||||||||||||||||||||||
cblnput |
int. Размер в (байтах) данных, указанных параметром IpszInData. |
|||||||||||||||||||||||||
IpszInData |
LPCSTR Указатель на буфер, содержащий данные, которые должны быть отправлены на принтер. Первое слово буфера (16 битов) содержит число байтов входных данных. |
|||||||||||||||||||||||||
Возвращаемое значение |
int. В случае успешного выполнения возвращаемое значение больше нуля; в ином случае возввашаемое значение менмпр или пянил uvnin |
|||||||||||||||||||||||||
Определение управляющего кода POSTSCRIPT IDENTIFY |
||||||||||||||||||||||||||
Описание |
Управляющий код принтера POSTSCRIPTJDENTIFY переводит драйвер PostScript в режим выполнения функций GDI или функций PostScript. |
|||||||||||||||||||||||||
Синтаксис |
int ExtEscape( HDC hDC, POSTSCRIPT_IDENTIFY, sizeof(DWORD), LPCSTR IpszInData, 0, NULL ) |
|||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||
hDC |
HDC. Обозначает контекст устройства. |
|||||||||||||||||||||||||
IpszInData |
LPCSTR. Указатель на переменную, содержащую значение PSIDENT_GDICENTRIC или PSIDENT_PSCENTRIC. |
|||||||||||||||||||||||||
Возвращаемое значение |
int. В случае успешного выполнения возвращаемое значение больше нуля; в ином случае возвращаемое значение меньше или равно нулю. |
|||||||||||||||||||||||||
Определение управляющего кода POSTSCRIPT_INJECTION |
||||||||||||||||||||||||||
Описание |
Управляющий код принтера POSTSCRIPT_INJECTION вставляет блок произвольных данных в указанные точки потока заданий PostScript. Этот управляющий код поддерживают драйверы PostScript, которые находятся в режиме выполнения функций GDI и функций PostScript. |
|||||||||||||||||||||||||
Синтаксис |
int ExtEscape( HDC hDC, POSTSCRIPTJNJECTION, int cblnput, LPCSTR IpszInData, 0, NULL ) |
|||||||||||||||||||||||||
Параметры hDC |
HDC. Обозначает контекст устройства. |
|||||||||||||||||||||||||
cblnput |
int. Размер в байтах буфера, указанного параметром IpszInData. В качестве этого параметра должна быть установлена сумма значения sizeof(PSINJECTDATA) и значения размера произвольных данных, которые будут введены в поток заданий. |
|||||||||||||||||||||||||
IpszInData |
LPCSTR. Указатель на структуру PSINJECTDATA, за которой следуют произвольные данные, которые будут введены в поток заданий. |
|||||||||||||||||||||||||
Возвращаемое значение |
int. В случае успешного выполнения возвращаемое значение больше нуля; в ином случае возвращаемое значение меньше или равно нулю. |
|||||||||||||||||||||||||
Определение PSINJECTDATAtypedef struct _PSINJECTDATA{ DWORD DataBytes ; WORD InjectionPoint; WORD PageNumber ; } PSINJECTDATA, *PPSINJECTDATA; |
||||||||||||||||||||||||||
Члены |
||||||||||||||||||||||||||
DataBytes |
DWORD. Число байтов произвольных данных, которые будут введены в поток заданий. Произвольные данные должны располагаться непосредственно за этой структурой. Указанный размер не включает размер этой структуры. |
|||||||||||||||||||||||||
InjectionPattt |
WORD. Указывает, где должны быть введены произвольные данные в вывод PostScript. Этот параметр может иметь одно из значений, перечисленных в табл. 14.18. |
|||||||||||||||||||||||||
Таблица 14.18. Значения члена InjectionPoint структуры PSINJECTDATA |
||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||
PSINJECT_BEGWSTREAM |
Перед первым байтом потока заданий |
|||||||||||||||||||||||||
PSH4JECT_PSADOBE |
Перед командой %!PS-Adobe |
|||||||||||||||||||||||||
PSINJECT_PAGESATEND |
Заменяет команду драйвера %%Pages (atend) |
|||||||||||||||||||||||||
PSINJECT_PAGES |
Заменяет команду драйвера %%Pages лпп |
|||||||||||||||||||||||||
PSINJECT_DOCNEEDEDRES |
После команды %%DocumentNeededResources |
|||||||||||||||||||||||||
PSINJECT_DOCSUPPLIEDRES |
После команды %%DocumentSuppliedResources |
|||||||||||||||||||||||||
PSINJECT_PAGEORDER |
Заменяет команду драйвера %%PageOrder |
|||||||||||||||||||||||||
PSINJECT_OReNTATION |
Заменяет команду драйвера %%Orientatk>n |
|||||||||||||||||||||||||
PSINJECT_BOUNDINGBOX |
Заменяет команду драйвера %%BoundingBox |
|||||||||||||||||||||||||
PSINJECT_DOCUMENTPROCESSCOLORS |
Заменяет команду драйвера %%DocumentProcessColors <цвет> |
|||||||||||||||||||||||||
PSINJECT_COMMENTS |
Перед командой %%EndComments |
|||||||||||||||||||||||||
PSINJECT_BEGNDEFAULTS |
После команды %%BeginDefaurts |
|||||||||||||||||||||||||
PSINJECT_ENDDEFAULTS |
Перед командой %%EndDefautts |
|||||||||||||||||||||||||
PSINJECT_BEGINPROLOG |
После команды %%BeginProlog |
|||||||||||||||||||||||||
PSINJECT_ENDPROLOG |
Перед командой %%EndProlog |
|||||||||||||||||||||||||
PSINJECT_BEGINSETUP |
После команды %%BeginSetup |
|||||||||||||||||||||||||
PSINJECT_ENDSETUP |
Перед командой %%EndSetup |
|||||||||||||||||||||||||
PSINJECT_TRA«JER |
После команды %% Trailer |
|||||||||||||||||||||||||
PSINJECT_EOF |
После команды %%EOF |
|||||||||||||||||||||||||
PSINJECTJENDSTREAM |
После последнего байта потока заданий |
|||||||||||||||||||||||||
PSINJECT_DOCUMENTPROCESSCOLORSATEND |
Заменяет команду драйвера %%DocurnentProcessColors (atend) |
|||||||||||||||||||||||||
Точки ввода данных на уровне страницы |
||||||||||||||||||||||||||
PSINJECT_PAGENUMBER |
Заменяет команду драйвера %%Раде |
|||||||||||||||||||||||||
PSINJECT_BEGINPAGESETUP |
После команды %%BeginPageSetup |
|||||||||||||||||||||||||
PSINJECT_ENDPAGESETUP |
Перед командой %%EndPageSetup |
|||||||||||||||||||||||||
PSINJECT_PAGETRAILER |
После команды %%PageTrailer |
|||||||||||||||||||||||||
PSINJECT_PLATECOLOR |
Заменяет команду драйвера %%PlateColor: <цмг> |
|||||||||||||||||||||||||
PSINJECT_SHOWPAGE |
Перед оператором showpage |
|||||||||||||||||||||||||
PSNJECT_PAGEBBOX |
Заменяет команду драйвера %%PageBoundtngBox |
|||||||||||||||||||||||||
PSNJECT_ENDPAGECOMMENTS |
Перед командой %%EndPageComments |
|||||||||||||||||||||||||
PSINJECT_VMSAVE |
Перед оператором save |
|||||||||||||||||||||||||
PSINJECT_VMRESTORE |
После оператора restore |
|||||||||||||||||||||||||
PageNumber |
WORD. Номер страницы (начиная с 1), к которой применяются вводимые данные. Для применения вводимых данных ко всем страницам должно быть указано значение нуль. |
|||||||||||||||||||||||||
Определение управляющего кода POSTSCRIPT_PASSTHROUGH |
||||||||||||||||||||||||||
Описание |
Управляющий код принтера POSTSCRIPT_PASSTHROUGH отправляет данные непосредственно в драйвер принтера PostScript. Этот управляющий код поддерживается драйверами PostScript, которые находятся в режиме выполнения функций PostScript и в режиме совместимости. |
|||||||||||||||||||||||||
Синтаксис |
int ExtEscape( HDC hDC, POSTSCRIPT PASSTHROUGH, int cblnput, LPCSTR IpszInData, 0, NULL ) |
|||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||
hDC |
HDC. Обозначает контекст устройства. |
|||||||||||||||||||||||||
cblnput |
int. Размер в байтах данных, указанных параметром IpszInData. |
|||||||||||||||||||||||||
IpszInData |
LPCSTR Указатель на буфер, содержащий данные, которые должны быть отправлены на принтер. Первое слово буфера (16 битов) содержит число байтов входных данных. |
|||||||||||||||||||||||||
Возвращаемое значениеПример |
int. В случае успешного выполнения возвращаемое значение больше нуля; в ином случае возвращаемое значение — меньше или равно нулю.См. пример для функции Escape. Несмотря на то что в этом примере не используется функция ExtEscape, принцип применения ее аналогичен функции Escape. Способ применения функции ExtEscape зависит от конкретных аппаратных средств, которые используются в приложении. |
|||||||||||||||||||||||||
ExtTextOut • Windows 98 • Windows 2000 |
||||||||||||||||||||||||||
Описание |
Функция ExtTextOut позволяет вывести символьную строку с использованием выбранного шрифта. Может быть предусмотрен необязательный прямоугольник, предназначенный для отсечения, выкрывания кроющей краской или того и другого. При использовании этой функции с функцией SetTextAlign, в которой значение параметра uMode установлено равным TA_UPDATECP, параметры X и У при последующих вызовах функции ExtTextOut будут игнорироваться. Вместо этой функции за текущей позицией будет следить система Windows. |
|||||||||||||||||||||||||
Синтаксис |
BOOL ExtTextOut( HDC hDC, int X, int Y, UINT uOptions, CONST RECT* Iprc, LPCTSTR IpszString, UINT cbCount, CONST INT* IpDx ) |
|||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||
hDC |
HDC. Контекст устройства вывода. |
|||||||||||||||||||||||||
X |
int. Логическая координата х точки отсчета, используемой для позиционирования строки. |
|||||||||||||||||||||||||
Y |
int. Логическая координата у точки отсчета, используемой для позиционирования строки. |
|||||||||||||||||||||||||
и Options |
UINT. Определяет способ использования в функции ExtTextOut прямоугольной области, определяемой приложением. Этот параметр может представлять собой комбинацию значений, перечисленных в табл. 14.19. |
|||||||||||||||||||||||||
IprOfi |
CONST RECT*. Указатель на необязательную структуру RECT, которая определяет размеры прямоугольной области, используемой для отсечения, заливкой кроющей краской или того и другого. |
|||||||||||||||||||||||||
Таблица 14. 19. Значения параметра uOptions функции ExtTextOut |
||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||
ETO_CLIPPED |
Текст должен быть ограничен прямоугольной областью. |
|||||||||||||||||||||||||
ETO_GLYPH_INDEX |
Параметр IpszString указывает на массив, возвращенный функцией GetCharacterPlacement, и должен быть интерпретирован непосредственно функциями GDI. Индексация глифов применяется только к шрифтам TrueType, но этот флажок позволяет обойти языковую обработку растровых и векторных шрифтов. Обратите внимание, что все индексы глифов представляют собой 16-разрядные значения, даже несмотря на то, что данная строка считается массивом 8-разрядных значений. |
|||||||||||||||||||||||||
ETO_NUMERICSLATIN |
Использовать для отображения чисел арабские цифры. |
|||||||||||||||||||||||||
ETO_NUMEMCSLOCAL |
Использовать для отображения чисел соответствующую региональную установку. |
|||||||||||||||||||||||||
ETO_OPAQUE |
Прямоугольная область будет заполнена текущим цветом фона. |
|||||||||||||||||||||||||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.