DEVMODE структура має такий вигляд:
typedef _devicemode типу struct {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 за PCL/HP LaserJet ®. Цей рядок є унікальною серед драйвери пристроїв.
dmSpecVersion
Вказує номер версії специфікації ініціалізації даних, на якому базується на структурі.
dmDriverVersion
Вказує номер версії драйвера принтера, присвоєний розробник драйвера принтера.
dmSize
Задає розмір, байт, DEVMODE структури, за винятком dmDriverData (конкретного пристрою) член. Якщо застосунок маніпулює тільки драйвер незалежна частину даних, він може використовувати цей компонент, щоб визначити довжину структури без необхідності для різних версій.
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. Наприклад, листа розміром сторінки з dmScale значення 50 будуть містити стільки даних як сторінки з 17 по 22 дюйми тому що вихідний текст і малюнки буде половину своїх оригінальних висоти та ширини.
dmCopies
Вибирає кількість примірників, якщо пристрій підтримує багатосторінкового копії.
dmDefaultSource
Захищені; повинні бути нульовим.
dmPrintQuality
Визначає роздільну здатність принтера. Існують чотири попередньо апаратно незалежні значення:
Якщо додатне значення надається, вона визначає кількість точок на дюйм (DPI) і тому пристрій залежні.
dmColor
Переключення між кольору і монохромний на кольорових принтерах. Нижче наведено можливі значення:
dmDuplex
Виділяє дуплексний або двосторонній друк для принтерів двосторонній друк. Нижче наведено можливі значення:
dmYResolution
Визначає y резолюції, в точках на дюйм, принтера. Якщо принтер ініціалізує член цього, член dmPrintQuality визначає x резолюції, в точках на дюйм, принтера.
dmTTOption
Визначає, як шрифти TrueType ® повинні друкуватися. Цей компонент може бути одне з таких значень:
dmCollate
Визначає, чи копіями повинні використовуватися під час друку кількох копій. Використання DMCOLLATE_FALSE забезпечує швидше, ефективніше виводу, оскільки дані надсилаються на принтері сторінки тільки один раз, незалежно від того, скільки копій обов'язкові для заповнення. Принтер сказав, щоб просто надрукувати сторінку знову. Цей компонент може бути одне з таких значень:
dmFormName
Визначає ім'я форми для використання; Наприклад, буква або юридична. Повний набір імена можуть бути отримані через вікна EnumForms функції.
dmUnusedPadding
Використовується для вирівнювання структури на межу DWORD . Це не повинно використовуватися або посилання. Його ім'я і використання зарезервовано і можна змінити в майбутньому релізи.
dmBitsPerPel
Задає бітів на піксель роздільну здатність кольору на пристрої відображення. Наприклад: 4 біти для 16 кольорів, 8 бітів, 256 кольорів або 16 біт для 65536 кольорів.
dmPelsWidth
Визначає товщину у пікселях, поверхні пристрій видимий.
dmPelsHeight
Визначає висоту, у пікселях, поверхні пристрій видимий.
dmDisplayFlags
Визначає режим відображення пристрою. Нижче наведено дійсний прапори:
dmDisplayFrequency
Визначає частоту, в Гц (циклах на секунду), пристрою відображення в даному режимі.
Коментарі
Драйвер пристрою особисті дані будуть стежити членів dmDisplayMode . Кількість байтів особистих даних, визначено член dmDriverExtra.
Дивіться також CDC::ResetDC, CPrintDialog::GetDevMode