|
Overview |
|
|
|
Group |
|
|
|
Quick Info
Windows NT
| Yes
| Win95
| Yes
| Win32s
| Yes
| Import Library
| -
| Header File
| wingdi.h
| Unicode
| WinNT
| Platform Notes
| None
|
|
|
DEVMODE
The
DEVMODE data structure contains information about the device initialization and
environment of a printer.
typedef struct _devicemode { // dvmd
BCHAR dmDeviceName[CCHDEVICENAME];
WORD dmSpecVersion;
WORD dmDriverVersion;
WORD dmSize;
WORD dmDriverExtra;
DWORD dmFields;
short dmOrientation;
short dmPaperSize;
short dmPaperLength;
short dmPaperWidth;
short dmScale;
short dmCopies;
short dmDefaultSource;
short dmPrintQuality;
short dmColor;
short dmDuplex;
short dmYResolution;
short dmTTOption;
short dmCollate;
BCHAR dmFormName[CCHFORMNAME];
WORD dmLogPixels;
DWORD dmBitsPerPel;
DWORD dmPelsWidth;
DWORD dmPelsHeight;
DWORD dmDisplayFlags;
DWORD dmDisplayFrequency;
#if(WINVER >= 0x0400)
DWORD dmICMMethod; // Windows 95 only
DWORD dmICMIntent; // Windows 95 only
DWORD dmMediaType; // Windows 95 only
DWORD dmDitherType; // Windows 95 only
DWORD dmReserved1; // Windows 95 only
DWORD dmReserved2; // Windows 95 only
#endif /* WINVER >= 0x0400 */
} DEVMODE;
Members
dmDeviceName
Specifies the the "friendly" name of the printer; for example, "PCL/HP
LaserJet" in the case of PCL/HP LaserJet®. This string is unique among device drivers. Note that this name may be
truncated to fit in the
dmDeviceName array.
dmSpecVersion
Specifies the version number of the initialization data specification on which
the structure is based.
dmDriverVersion
Specifies the printer driver version number assigned by the printer driver
developer.
dmSize
Specifies the size, in bytes, of the
DEVMODE structure, not including any private driver-specific data that might follow
the structure's public members. You can use this member to determine the number
of bytes of public data regardless of the version of the
DEVMODE structure being used.
dmDriverExtra
Contains the number of bytes of private driver-data that follow this
structure. If a device driver does not use device-specific information, set this member
to zero.
dmFields
A set of bit flags that specify whether certain members of the
DEVMODE structure have been initialized. If a field is initialized, its corresponding
bit flag is set, otherwise the bit flag is clear. A printer driver supports
only those
DEVMODE structure members that are appropriate for the printer technology.
The following bit flags are defined, and are listed here with the
corresponding structure members:
Value
| Structure Member
|
DM_ORIENTATION
| dmOrientation
|
DM_PAPERSIZE
| dmPaperSize
|
DM_PAPERLENGTH
| dmPaperLength
|
DM_PAPERWIDTH
| dmPaperWidth
|
DM_SCALE
| dmScale
|
DM_COPIES
| dmCopies
|
DM_DEFAULTSOURCE
| dmDefaultSource
|
DM_PRINTQUALITY
| dmPrintQuality
|
DM_COLOR
| dmColor
|
DM_DUPLEX
| dmDuplex
|
DM_YRESOLUTION
| dmYResolution
|
DM_TTOPTION
| dmTTOption
|
DM_COLLATE
| dmCollate
|
DM_FORMNAME
| dmFormName
|
DM_LOGPIXELS
| dmLogPixels
|
DM_BITSPERPEL
| dmBitsPerPel
|
DM_PELSWIDTH
| dmPelsWidth
|
DM_PELSHEIGHT
| dmPelsHeight
|
DM_DISPLAYFLAGS
| dmDisplayFlags
|
DM_DISPLAYFREQUENCY
| dmDisplayFrequency
|
DM_ICMMETHOD
| Windows 95 only: dmICMMethod
|
DM_ICMINTENT
| Windows 95 only: dmICMIntent
|
DM_MEDIATYPE
| Windows 95 only: dmMediaType
|
DM_DITHERTYPE
| Windows 95 only: dmDitherType
|
dmOrientation
Selects the orientation of the paper. This member can be either
DMORIENT_PORTRAIT (1) or DMORIENT_LANDSCAPE (2).
dmPaperSize
Selects the size of the paper to print on. This member can be set to zero if
the length and width of the paper are both set by the
dmPaperLength and
dmPaperWidth members. Otherwise, the
dmPaperSize member can be set to one of the following predefined values:
Value
| Meaning
|
DMPAPER_LETTER
| Letter, 8 1/2- by 11-inches
|
DMPAPER_LEGAL
| Legal, 8 1/2- by 14-inches
|
DMPAPER_A4
| A4 Sheet, 210- by 297-millimeters
|
DMPAPER_CSHEET
| C Sheet, 17- by 22-inches
|
DMPAPER_DSHEET
| D Sheet, 22- by 34-inches
|
DMPAPER_ESHEET
| E Sheet, 34- by 44-inches
|
DMPAPER_LETTERSMALL
| Letter Small, 8 1/2- by 11-inches
|
DMPAPER_TABLOID
| Tabloid, 11- by 17-inches
|
DMPAPER_LEDGER
| Ledger, 17- by 11-inches
|
DMPAPER_STATEMENT
| Statement, 5 1/2- by 8 1/2-inches
|
DMPAPER_EXECUTIVE
| Executive, 7 1/4- by 10 1/2-inches
|
DMPAPER_A3
| A3 sheet, 297- by 420-millimeters
|
DMPAPER_A4SMALL
| A4 small sheet, 210- by 297-millimeters
|
DMPAPER_A5
| A5 sheet, 148- by 210-millimeters
|
DMPAPER_B4
| B4 sheet, 250- by 354-millimeters
|
DMPAPER_B5
| B5 sheet, 182- by 257-millimeter paper
|
DMPAPER_FOLIO
| Folio, 8 1/2- by 13-inch paper
|
DMPAPER_QUARTO
| Quarto, 215- by 275-millimeter paper
|
DMPAPER_10X14
| 10- by 14-inch sheet
|
DMPAPER_11X17
| 11- by 17-inch sheet
|
DMPAPER_NOTE
| Note, 8 1/2- by 11-inches
|
DMPAPER_ENV_9
| #9 Envelope, 3 7/8- by 8 7/8-inches
|
DMPAPER_ENV_10
| #10 Envelope, 4 1/8- by 9 1/2-inches
|
DMPAPER_ENV_11
| #11 Envelope, 4 1/2- by 10 3/8-inches
|
DMPAPER_ENV_12
| #12 Envelope, 4 3/4- by 11-inches
|
DMPAPER_ENV_14
| #14 Envelope, 5- by 11 1/2-inches
|
DMPAPER_ENV_DL
| DL Envelope, 110- by 220-millimeters
|
DMPAPER_ENV_C5
| C5 Envelope, 162- by 229-millimeters
|
DMPAPER_ENV_C3
| C3 Envelope, 324- by 458-millimeters
|
DMPAPER_ENV_C4
| C4 Envelope, 229- by 324-millimeters
|
DMPAPER_ENV_C6
| C6 Envelope, 114- by 162-millimeters
|
DMPAPER_ENV_C65
| C65 Envelope, 114- by 229-millimeters
|
DMPAPER_ENV_B4
| B4 Envelope, 250- by 353-millimeters
|
DMPAPER_ENV_B5
| B5 Envelope, 176- by 250-millimeters
|
DMPAPER_ENV_B6
| B6 Envelope, 176- by 125-millimeters
|
DMPAPER_ENV_ITALY
| Italy Envelope, 110- by 230-millimeters
|
DMPAPER_ENV_MONARCH
| Monarch Envelope, 3 7/8- by 7 1/2-inches
|
DMPAPER_ENV_PERSONAL
| 6 3/4 Envelope, 3 5/8- by 6 1/2-inches
|
DMPAPER_FANFOLD_US
| US Std Fanfold, 14 7/8- by 11-inches
|
DMPAPER_FANFOLD_STD_GERMAN
| German Std Fanfold, 8 1/2- by 12-inches
|
DMPAPER_FANFOLD_LGL_GERMAN
| German Legal Fanfold, 8 1/2- by 13-inches
|
dmPaperLength
Overrides the length of the paper specified by the
dmPaperSize member, either for custom paper sizes or for devices such as dot-matrix
printers, which can print on a page of arbitrary length. These values, along with
all other values in this structure that specify a physical length, are in tenths
of a millimeter.
dmPaperWidth
Overrides the width of the paper specified by the
dmPaperSize member.
dmScale
Specifies the factor by which the printed output is to be scaled. The apparent
page size is scaled from the physical page size by a factor of
dmScale/100. For example, a letter-sized page with a
dmScale value of 50 would contain as much data as a page of 17- by 22-inches because
the output text and graphics would be half their original height and width.
dmCopies
Selects the number of copies printed if the device supports multiple-page
copies.
dmDefaultSource
Reserved; must be zero.
dmPrintQuality
Specifies the printer resolution. There are four predefined device-independent
values:
DMRES_HIGH
DMRES_MEDIUM
DMRES_LOW
DMRES_DRAFT
If a positive value is given, it specifies the number of dots per inch (DPI)
and is therefore device dependent.
dmColor
Switches between color and monochrome on color printers. Following are the
possible values:
DMCOLOR_COLOR
DMCOLOR_MONOCHROME
dmDuplex
Selects duplex or double-sided printing for printers capable of duplex
printing. Following are the possible values:
DMDUP_SIMPLEX
DMDUP_HORIZONTAL
DMDUP_VERTICAL
dmYResolution
Specifies the y-resolution, in dots per inch, of the printer. If the printer
initializes this member, the
dmPrintQuality member specifies the x-resolution, in dots per inch, of the printer.
dmTTOption
Specifies how TrueType® fonts should be printed. This member can be one of the following values:
Value
| Meaning
|
DMTT_BITMAP
| Prints TrueType fonts as graphics. This is the default action for dot-matrix
printers.
|
DMTT_DOWNLOAD
| Downloads TrueType fonts as soft fonts. This is the default action for
Hewlett-Packard printers that use Printer Control Language (PCL).
|
DMTT_SUBDEV
| Substitute device fonts for TrueType fonts. This is the default action for
PostScript® printers.
|
dmUnusedPadding
Used to align the structure to a DWORD boundary. This should not be used or
referenced. Its name and usage is reserved, and can change in future releases.
dmCollate
Specifies whether collation should be used when printing multiple copies.
(This member is ignored unless the printer driver indicates support for collation
by setting the
dmFields member to DM_COLLATE.) This member can be be one of the following values:
Value
| Meaning
|
DMCOLLATE_TRUE
| Collate when printing multiple copies.
|
DMCOLLATE_FALSE
| Do not collate when printing multiple copies.
|
Using DMCOLLATE_TRUE provides faster, more efficient output for collation,
since the data is sent to the device driver just once, no matter how many copies
are required. The printer is told to simply print the page again.
dmFormName
Windows NT: Specifies the name of the form to use; for example, "Letter" or "Legal". A
complete set of names can be retrieved by using the
EnumForms function.
Windows 95: Printer drivers do not use this member.
dmLogPixels
Specifies the number of pixels per logical inch. Printer drivers do not use
this member.
dmBitsPerPel
Specifies the color resolution, in bits per pixel, of the display device (for
example: 4 bits for 16 colors, 8 bits for 256 colors, or 16 bits for 65536
colors). Display drivers use this member, for example, in the
ChangeDisplaySettings function. Printer drivers do not use this member.
dmPelsWidth
Specifies the width, in pixels, of the visible device surface. Display drivers
use this member, for example, in the
ChangeDisplaySettings function. Printer drivers do not use this member.
dmPelsHeight
Specifies the height, in pixels, of the visible device surface. Display
drivers use this member, for example, in the
ChangeDisplaySettings function. Printer drivers do not use this member.
dmDisplayFlags
Specifies the device's display mode. This member can be one of the following
values:
Value
| Meaning
|
DM_GRAYSCALE
| Specifies that the display is a noncolor device. If this flag is not set,
color is assumed.
|
DM_INTERLACED
| Specifies that the display mode is interlaced. If the flag is not set,
noninterlaced is assumed.
|
Display drivers use this member, for example, in the
ChangeDisplaySettings function. Printer drivers do not use this member.
dmDisplayFrequency
Specifies the frequency, in hertz (cycles per second), of the display device
in a particular mode. This value is also known as the display device's vertical
refresh rate. Display drivers use this member. It is used, for example, in the
ChangeDisplaySettings function. Printer drivers do not use this member.
When you call the
EnumDisplaySettings function, the
dmDisplayFrequency member may return with the value 0 or 1. These values represent the display
hardware's default refresh rate. This default rate is typically set by switches
on a display card or computer motherboard, or by a configuration program that
does not use Win32 display functions such as
ChangeDisplaySettings.
dmICMMethod
Windows 95:
Specifies how ICM is handled. For a non-ICM application, this member
determines if ICM is enabled or disabled. For ICM applications, Windows examines this
member to determine how to handle ICM support. This member can be one of the
following predefined values, or a driver-defined value greater than the value of
DMICMMETHOD_USER:
Value
| Meaning
|
DMICMMETHOD_NONE
| Windows 95 only: Specifies that ICM is disabled.
|
DMICMMETHOD_SYSTEM
| Windows 95 only: Specifies that ICM is handled by Windows.
|
DMICMMETHOD_DRIVER
| Windows 95 only: Specifies that ICM is handled by the device driver.
|
DMICMMETHOD_DEVICE
| Windows 95 only: Specifies that ICM is handled by the destination device.
|
The printer driver must provide a user interface for setting this member. Most
printer drivers support only the DMICMMETHOD_SYSTEM or DMICMMETHOD_NONE value.
Drivers for PostScript printers support all values.
Windows NT:
This member is not supported on Windows NT.
dmICMIntent
Windows 95:
Specifies which of the three possible color matching methods, or intents,
should be used by default. This member is primarily for non-ICM applications. ICM
applications can establish intents by using the ICM functions. This member can
be one of the following predefined values, or a driver defined value greater
than the value of DMICM_USER:
Value
| Meaning
|
DMICM_SATURATE
| Windows 95 only: Color matching should optimize for color saturation. This value is the most
appropriate choice for business graphs when dithering is not desired.
|
DMICM_CONTRAST
| Windows 95 only: Color matching should optimize for color contrast. This value is the most
appropriate choice for scanned or photographic images when dithering is desired.
|
DMICM_COLORMETRIC
| Windows 95 only: Color matching should optimize to match the exact color requested. This value
is most appropriate for use with business logos or other images when an exact
color match is desired.
|
Windows NT:
This member is not supported on Windows NT.
dmMediaType
Windows 95:
Specifies the type of media being printed on. The member can be one of the
following predefined values, or a driver-defined value greater than the value of
DMMEDIA_USER:
Value
| Meaning
|
DMMEDIA_STANDARD
| Windows 95 only: Plain paper.
|
DMMEDIA_GLOSSY
| Windows 95 only: Glossy paper.
|
DMMEDIA_TRANSPARENCY
| Windows 95 only: Transparent film.
|
Windows NT:
This member is not supported on Windows NT.
dmDitherType
Windows 95:
Specifies how dithering is to be done. The member can be one of the following
predefined values, or a driver-defined value greater than the value of
DMDITHER_USER:
Value
| Meaning
|
DMDITHER_NONE
| Windows 95 only: No dithering.
|
DMDITHER_COARSE
| Windows 95 only: Dithering with a coarse brush.
|
DMDITHER_FINE
| Windows 95 only: Dithering with a fine brush.
|
DMDITHER_LINEART
| Windows 95 only: Line art dithering, a special dithering method that produces well defined
borders between black, white, and gray scalings. It is not suitable for images
that include continuous graduations in intensisty and hue such as scanned
photographs.
|
DMDITHER_GRAYSCALE
| Windows 95 only: Device does grayscaling.
|
Windows NT:
This member is not supported on Windows NT.
dmReserved1
Windows 95: Not used; must be zero.
Windows NT: This member is not supported on Windows NT.
dmReserved2
Windows 95: Not used; must be zero.
Windows NT: This member is not supported on Windows NT.
Remarks
A device driver's private data follows the public portion of the
DEVMODE structure. The size of the public data can vary for different versions of the
structure. The
dmSize member specifies the number of bytes of public data, and the
dmDriverExtra member specifies the number of bytes of private data.
See Also
AdvancedDocumentProperties,
CreateDC,
CreateIC,
DeviceCapabilities,
DocumentProperties,
OpenPrinter
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database