Структуры DEVMODE имеет следующий вид:
typedef struct _devicemode {nbsp; / * dvmd * /
TCHAR dmDevice&Name [32];
СЛОВО dmSpecVersion;
СЛОВО dmDriverVersion;
СЛОВО dmSize;
СЛОВО dmDriverExtra;
DWORD dmFields;
короткие dmOrientation;
короткие dmPaperSize;
короткие dmPaperLength;
короткие dmPaperWidth;
короткие dmScale;
короткие dmCopies;
короткие dmDefaultSource;
короткие dmPrintQuality;
короткие dmColor;
короткие dmDuplex;
короткие dmYResolution;
короткие dmTTOption;
короткие dmCollate;
TCHAR dmFormName [32];
СЛОВО dmUnusedPadding;
USHORT dmBitsPerPel;
DWORD dmPelsWidth;
DWORD dmPelsHeight;
DWORD dmDisplayFlags;
DWORD dmDisplayFrequency;
} DEVMODE
Структуры данных DEVMODE содержит сведения об инициализации устройства и окружающей среде принтера.
Члены
dmDeviceName
Указывает имя устройства, драйвер поддерживает; к примеру PCL/HP LaserJet за LaserJet/PCL/HP ®. Эта строка является уникальной среди драйверов устройств.
dmSpecVersion
Указывает номер версии спецификации данных инициализации, на котором основана структура.
dmDriverVersion
Указывает номер версии драйвера принтера, назначено разработчиком драйвера принтера.
dmSize
Размер, в байтах, за исключением dmDriverData (зависящий от устройства) члена структуры DEVMODE . Если приложение обрабатывает только водитель независимые части данных, этот элемент можно использовать для определения длины структуры без необходимости учета различных версий.
dmDriverExtra
Содержит количество байтов частных водителя данные, которые следуют этой структуры. Если драйвер устройства не использует информацию, установить значение этого члена к нулю.
dmFields
Определяет, какие из оставшихся членов в структуре DEVMODE были инициализированы. Бит 0 (определяемой как DM_ORIENTATION) соответствует dmOrientation; бит 1 (определяемой как DM_PAPERSIZE) указывает dmPaperSizeи так далее. Драйвер принтера поддерживает только тех членов, которые являются подходящими для принтера технологии.
dmOrientation
Выбор ориентации бумаги. Этот член может быть либо DMORIENT_PORTRAIT (1) или DMORIENT_LANDSCAPE (2).
dmPaperSize
Выбор размера бумаги для печати на. Этот член может быть равным нулю если длина и ширина бумаги являются оба набора членов dmPaperLength и dmPaperWidth . В противном случае dmPaperSize член может быть присвоено одно из следующих предопределенных значений:
dmPaperLength
Переопределяет длина бумаги, указанный член dmPaperSize , нестандартные размеры бумаги или устройств, таких как матричных принтеров, которые могут печатать на странице произвольной длины. Эти ценности, вместе с всеми другими значениями в этой структуре физическая длина, находятся в десятых долях миллиметра.
dmPaperWidth
Переопределяет ширину бумаги, указанный член dmPaperSize.
dmScale
Определяет фактор, в которой напечатанный документ является масштабирование. Размер очевидной страницы масштабируется от физического размера страницы с коэффициентом dmScale/100. Например страницы стандартного размера со значением 50 dmScale содержать столько данных, как страница 17 дюймов, потому что вывода текста и графики бы половину их первоначальной высоты и ширины.
dmCopies
Выбирает количество копий, если устройство поддерживает многостраничную копий.
dmDefaultSource
Защищены; должно быть равно нулю.
dmPrintQuality
Определяет разрешение принтера. Существует четыре предопределенных значений аппаратно независимый:
Если положительное значение, он определяет количество точек на дюйм (DPI) и поэтому зависят от устройства.
dmColor
Переключение между цветной и монохромной печати на цветных принтеров. Ниже приведены возможные значения:
dmDuplex
Выбор двусторонней печати или двусторонней печати для принтеров, возможность двусторонней печати. Ниже приведены возможные значения:
dmYResolution
Указывает y разрешение в точках на дюйм, принтера. Если принтер инициализирует этот член, член dmPrintQuality определяет разрешение, в точках на дюйм, принтера.
dmTTOption
Определяет, как должны быть напечатаны шрифтов TrueType ®. Этот член может быть одним из следующих значений:
dmCollate
Указывает, должно ли использоваться параметры сортировки при печати нескольких копий. Использование DMCOLLATE_FALSE обеспечивает быстрее, более эффективного вывода, так как данные посылаются на странице принтер только один раз, независимо от того, сколько копий требуются. Принтер рассказывается просто напечатать страницу снова. Этот член может быть одним из следующих значений:
dmFormName
Указывает имя формы для использования; например письма или правового. Полный набор имен можно получить с помощью Windows EnumForms функция.
dmUnusedPadding
Используется для выравнивания структуры к границе DWORD . Это не должно использоваться и ссылки. Его имени и использования зарезервировано и может измениться в будущих версиях.
dmBitsPerPel
Указывает в битах на точку цветовое разрешение устройства отображения. Например: 4 бита для 16 цветов, 8 бит для 256 цветов или 16 бит для 65 536 цветов.
dmPelsWidth
Указывает ширину в пикселах, видимой поверхности устройства.
dmPelsHeight
Задает высоту в пикселах видимой поверхности устройства.
dmDisplayFlags
Задает режим отображения устройства. Ниже приведены допустимые флаги:
dmDisplayFrequency
Указывает частоту в герцах (циклов в секунду), устройства отображения в частности режиме.
Комментарии
Драйвер устройства личных данных будут следить за dmDisplayMode член. Количество байтов данных определяется dmDriverExtra член.
См. также CDC::ResetDC, CPrintDialog::GetDevMode