描述
数据结构DEVMODE包含有关打印机或显示设备的初始化和环境的信息。
C++ 语法
typedef struct _devicemode { BCHAR dmDeviceName[CCHDEVICENAME]; WORD dmSpecVersion; WORD dmDriverVersion; WORD dmSize; WORD dmDriverExtra; DWORD dmFields; union { struct { short dmOrientation; short dmPaperSize; short dmPaperLength; short dmPaperWidth; short dmScale; short dmCopies; short dmDefaultSource; short dmPrintQuality; } ; struct { POINTL dmPosition; DWORD dmDisplayOrientation; DWORD dmDisplayFixedOutput; } ; } ; short dmColor; short dmDuplex; short dmYResolution; short dmTTOption; short dmCollate; BYTE dmFormName[CCHFORMNAME]; DWORD dmLogPixels; DWORD dmBitsPerPel; DWORD dmPelsWidth; DWORD dmPelsHeight; union { DWORD dmDisplayFlags; DWORD dmNup; } ; DWORD dmDisplayFrequency; #if (WINVER >= 0x0400) DWORD dmICMMethod; DWORD dmICMIntent; DWORD dmMediaType; DWORD dmDitherType; DWORD dmReserved1; DWORD dmReserved2; #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400) DWORD dmPanningWidth; DWORD dmPanningHeight; #endif #endif } DEVMODE; |
PowerBASIC 语法
TYPE DEVMODE_UNION1_STRUCT_1 dmOrientation AS INTEGER dmPaperSize AS INTEGER dmPaperLength AS INTEGER dmPaperWidth AS INTEGER dmScale AS INTEGER dmCopies AS INTEGER dmDefaultSource AS INTEGER dmPrintQuality AS INTEGER END TYPE
TYPE DEVMODE_UNION1_STRUCT_2 dmPosition AS POINTL dmDisplayOrientation AS DWORD dmDisplayFixedOutput AS DWORD END TYPE
UNION DEVMODE_UNION_1 DEVMODE_UNION1_STRUCT_1 DEVMODE_UNION1_STRUCT_2 END UNION
UNION DEVMODE_UNION_2 dmDisplayFlags AS DWORD dmNup AS DWORD END UNION
TYPE DEVMODEA dmDeviceName AS ASCIIZ * %CCHDEVICENAME dmSpecVersion AS WORD dmDriverVersion AS WORD dmSize AS WORD dmDriverExtra AS WORD dmFields AS DWORD DEVMODE_UNION_1 dmColor AS INTEGER dmDuplex AS INTEGER dmYResolution AS INTEGER dmTTOption AS INTEGER dmCollate AS INTEGER dmFormName AS ASCIIZ * %CCHFORMNAME dmLogPixels AS WORD dmBitsPerPel AS DWORD dmPelsWidth AS DWORD dmPelsHeight AS DWORD DEVMODE_UNION_2 dmDisplayFrequency AS DWORD dmICMMethod AS DWORD dmICMIntent AS DWORD dmMediaType AS DWORD dmDitherType AS DWORD dmICCManufacturer AS DWORD dmICCModel AS DWORD dmPanningWidth AS DWORD dmPanningHeight AS DWORD END TYPE |
Unicode版本:
TYPE DEVMODE_UNION1_STRUCT_1 dmOrientation AS INTEGER dmPaperSize AS INTEGER dmPaperLength AS INTEGER dmPaperWidth AS INTEGER dmScale AS INTEGER dmCopies AS INTEGER dmDefaultSource AS INTEGER dmPrintQuality AS INTEGER END TYPE
TYPE DEVMODE_UNION1_STRUCT_2 dmPosition AS POINTL dmDisplayOrientation AS DWORD dmDisplayFixedOutput AS DWORD END TYPE
UNION DEVMODE_UNION_1 DEVMODE_UNION1_STRUCT_1 DEVMODE_UNION1_STRUCT_2 END UNION
UNION DEVMODE_UNION_2 dmDisplayFlags AS DWORD dmNup AS DWORD END UNION
TYPE DEVMODEW dmDeviceName AS WSTRINGZ * %CCHDEVICENAME dmSpecVersion AS WORD dmDriverVersion AS WORD dmSize AS WORD dmDriverExtra AS WORD dmFields AS DWORD DEVMODE_UNION_1 dmColor AS INTEGER dmDuplex AS INTEGER dmYResolution AS INTEGER dmTTOption AS INTEGER dmCollate AS INTEGER dmFormName AS WSTRINGZ * %CCHFORMNAME dmLogPixels AS WORD dmBitsPerPel AS DWORD dmPelsWidth AS DWORD dmPelsHeight AS DWORD DEVMODE_UNION_2 dmDisplayFrequency AS DWORD dmICMMethod AS DWORD dmICMIntent AS DWORD dmMediaType AS DWORD dmDitherType AS DWORD dmICCManufacturer AS DWORD dmICCModel AS DWORD dmPanningWidth AS DWORD dmPanningHeight AS DWORD END TYPE |
成员
dmDeviceName
指定打印机或显示器的“友好”名称的零终止字符数组;在PCL / HP LaserJet的情况下,例如“PCL / HP LaserJet”。该字符串在设备驱动程序中是唯一的。请注意,此名称可能会被截断以符合dmDeviceName数组。
dmSpecVersion
指定结构所基于的初始化数据规范的版本号。为了确保任何操作系统都使用正确的版本,请使用DM_SPECVERSION。
dmDriverVersion
指定驱动程序开发人员分配的驱动程序版本号。
dmSize
指定DEVMODE结构的大小(以字节为单位),不包括可能遵循结构公共成员的任何私有驱动程序特定的数据。将此成员设置为SIZEOF(DEVMODE)以指示正在使用的DEVMODE结构的版本。
dmDriverExtra
包含跟随此结构的专用驱动程序数据的字节数。如果设备驱动程序不使用设备特定的信息,请将此成员设置为零。
dmFields
指定DEVMODE结构的某些成员是否已初始化。如果一个成员被初始化,它的相应位被置位,否则该位清零。驱动程序仅支持适合打印机或显示技术的DEVMODE成员。
定义了以下值,并在此列出了相应的结构成员。
值 |
结构成员 |
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_POSITION |
dmPosition |
DM_DISPLAYORIENTATION |
dmDisplayOrientation |
DM_DISPLAYFIXEDOUTPUT |
dmDisplayFixedOutput |
DM_COLOR |
dmColor |
DM_DUPLEX |
dmDuplex |
DM_YRESOLUTION |
dmYResolution |
DM_TTOPTION |
dmTTOption |
DM_COLLATE |
dmCollat??e |
DM_FORMNAME |
dmFormName |
DM_LOGPIXELS |
dmLogPixels |
DM_BITSPERPEL |
dmBitsPerPel |
DM_PELSWIDTH |
dmPelsWidth |
DM_PELSHEIGHT |
dmPelsHeight |
DM_DISPLAYFLAGS |
dmDisplayFlags |
DM_NUP |
dmNup |
DM_DISPLAYFREQUENCY |
dmDisplayFrequency |
DM_ICMMETHOD |
dmICMMethod |
DM_ICMINTENT |
dmICMIntent |
DM_MEDIATYPE |
dmMediaType |
DM_DITHERTYPE |
dmDitherType |
DM_PANNINGWIDTH |
Windows 2000 / XP / Vista / Windows 7:dmPanningWidth |
DM_PANNINGHEIGHT |
Windows 2000 / XP / Vista / Windows 7:dmPanningHeight |
dmOrientation
仅适用于打印机设备,选择纸张的方向。该成员可以是DMORIENT_PORTRAIT(1)或DMORIENT_LANDSCAPE(2)。
dmPaperSize
仅适用于打印机设备,选择要打印的纸张尺寸。如果纸张的长度和宽度都由dmPaperLength和dmPaperWidth成员设置,则该成员可以设置为零。否则,dmPaperSize成员可以设置为大于或等于DMPAPER_USER的设备特定值或以下预定义值之一。
值 |
含义 |
DMPAPER_LETTER |
信,8 1 / 2-乘11英寸 |
DMPAPER_LEGAL |
法定,8 1 / 2-乘14英寸 |
DMPAPER_9X11 |
9-英寸11英寸 |
DMPAPER_10X11 |
10英寸11英寸 |
DMPAPER_10X14 |
10到14英寸的纸张 |
DMPAPER_15X11 |
15英寸×11英寸的纸张 |
DMPAPER_11X17 |
11英寸×17英寸的纸张 |
DMPAPER_12X11 |
Windows 98 / Me,Windows NT 4.0及更高版本:12英寸×11英寸的纸张 |
DMPAPER_A2 |
A2纸,420 x 594毫米 |
DMPAPER_A3 |
A3纸,297- 420毫米 |
DMPAPER_A3_EXTRA |
A3额外322 x 445毫米 |
DMPAPER_A3_EXTRA_TRAVERSE |
A3 Extra横向322 x 445毫米 |
DMPAPER_A3_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:A3旋转片材,420-297毫米 |
DMPAPER_A3_TRAVERSE |
A3横向297 x 420毫米 |
DMPAPER_A4 |
A4纸,210-297毫米 |
DMPAPER_A4_EXTRA |
A4纸,9.27 x 12.69英寸 |
DMPAPER_A4_PLUS |
更A4 210 X330毫米, |
DMPAPER_A4_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:A4旋转纸,297- 210毫米 |
DMPAPER_A4SMALL |
A4小片,210-297毫米 |
DMPAPER_A4_TRANSVERSE |
A4横向210 x 297毫米 |
DMPAPER_A5 |
A5片,148- 210毫米 |
DMPAPER_A5_EXTRA |
A5 Extra 174 x 235-mm |
DMPAPER_A5_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:A5旋转片,210-×148毫米 |
DMPAPER_A5_TRANSVERSE |
A5横向148 x 210毫米 |
DMPAPER_A6 |
Windows 98 / Me,Windows NT 4.0及更高版本:A6张,105-×148毫米 |
DMPAPER_A6_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:A6旋转的纸张,148-105毫米 |
DMPAPER_A_PLUS |
Windows 98 / Me,Windows NT 4.0及更高版本:B4(JIS)旋转片,364-257毫米 |
DMPAPER_B5 |
B5片,182-257毫米纸 |
DMPAPER_B5_EXTRA |
B5(ISO)额外201 x 276毫米 |
DMPAPER_B5_JIS_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:B5(JIS)旋转片,257- 182毫米 |
DMPAPER_B6_JIS |
Windows 98 / Me,Windows NT 4.0及更高版本:B6(JIS)片,128- 182毫米 |
DMPAPER_B6_JIS_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:B6(JIS)旋转纸张,182- 128毫米 |
DMPAPER_B_PLUS |
SuperB / A3 305 x 487毫米 |
DMPAPER_CSHEET |
C纸,17- 22寸 |
DMPAPER_DBL_JAPANESE_ POSTCARD |
Windows 98 / Me,Windows NT 4.0及更高版本:双日本明信片,200-48毫米 |
DMPAPER_DBL_JAPANESE_ POSTCARD_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:双日本明信片旋转,148- 200毫米 |
DMPAPER_DSHEET |
22张,34英寸 |
DMPAPER_ENV_9 |
#9信封,3 7 / 8-乘8 7/8英寸 |
DMPAPER_ENV_10 |
#10信封,4 1 / 8-乘9 1/2英寸 |
DMPAPER_ENV_11 |
#11信封,4 1 / 2-乘10 3/8英寸 |
DMPAPER_ENV_12 |
#12信封,4 3 / 4-乘11英寸 |
DMPAPER_ENV_14 |
#14信封,5-加11 1/2英寸 |
DMPAPER_ENV_C5 |
C5信封,162- 229毫米 |
DMPAPER_ENV_C3 |
C3信封,324-458毫米 |
DMPAPER_ENV_C4 |
C4信封,229-324毫米 |
DMPAPER_ENV_C6 |
C6信封,114- 162毫米 |
DMPAPER_ENV_C65 |
C65信封,114-292毫米 |
DMPAPER_ENV_B4 |
B4信封,由250?353毫米 |
DMPAPER_ENV_B5 |
B5信封,176- 250毫米 |
DMPAPER_ENV_B6 |
B6信封,176-125毫米 |
DMPAPER_ENV_DL |
DL信封,110- 220毫米 |
DMPAPER_ENV_INVITE |
信封邀请220 x 220毫米 |
DMPAPER_ENV_ITALY |
意大利信封,110 - 230毫米 |
DMPAPER_ENV_MONARCH |
君主信封,3 7 / 8-乘7 1/2英寸 |
DMPAPER_ENV_PERSONAL |
6 3/4信封,3 5 / 8-乘6 1/2英寸 |
DMPAPER_ESHEET |
E Sheet,34-44英寸 |
DMPAPER_EXECUTIVE |
执行,7 1 / 4-乘10 1/2英寸 |
DMPAPER_FANFOLD_US |
美国标准Fanfold,14 7 / 8-乘11英寸 |
DMPAPER_FANFOLD_STD_GERMAN |
德国标准Fanfold,8 1 / 2-乘12英寸 |
DMPAPER_FANFOLD_LGL_GERMAN |
德国Legal Fanfold,8 - 13英寸 |
DMPAPER_FOLIO |
对开,8 1 / 2- 13英寸纸 |
DMPAPER_ISO_B4 |
B4(ISO)250-353毫米纸张 |
DMPAPER_JAPANESE_POSTCARD |
日本明信片,100-48毫米 |
DMPAPER_JAPANESE_ POSTCARD_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:日本明信片旋转,148-乘100毫米 |
DMPAPER_JENV_CHOU3 |
Windows 98 / Me,Windows NT 4.0及更高版本:日本信封周三 |
DMPAPER_JENV_CHOU3_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:日本信封C#3旋转 |
DMPAPER_JENV_CHOU4 |
Windows 98 / Me,Windows NT 4.0及更高版本:日本信封周四 |
DMPAPER_JENV_CHOU4_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:日本信封周四旋转 |
DMPAPER_JENV_KAKU2 |
Windows 98 / Me,Windows NT 4.0及更高版本:日本信封Kaku#2 |
DMPAPER_JENV_KAKU2_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:日本信封Kaku#2旋转 |
DMPAPER_JENV_KAKU3 |
Windows 98 / Me,Windows NT 4.0及更高版本:日本信封Kaku#3 |
DMPAPER_JENV_KAKU3_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:日文信封Kaku#3旋转 |
DMPAPER_JENV_YOU4 |
Windows 98 / Me,Windows NT 4.0及更高版本:日本信封你#4 |
DMPAPER_JENV_YOU4_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:日本信封你#4旋转 |
DMPAPER_LAST |
Windows 2000 / XP / Vista / Windows 7: DMPAPER_PENV_10_ROTATED |
DMPAPER_LEDGER |
分类帐,17英寸×11寸 |
DMPAPER_LEGAL_EXTRA |
法律额外9 1/2 x 15英寸。 |
DMPAPER_LETTER_EXTRA |
字母额外9 1/2 x 12英寸。 |
DMPAPER_LETTER_EXTRA_ TRANSVERSE |
Letter Extra横向9 1/2 x 12英寸。 |
DMPAPER_LETTER_ROTATED |
字母旋转11乘8 1/2英寸 |
DMPAPER_LETTERSMALL |
字母小,8 1 / 2-乘11英寸 |
DMPAPER_LETTER_TRANSVERSE |
字母横向8 1/2 x 11英寸 |
DMPAPER_NOTE |
注意,8 1 / 2-乘11英寸 |
DMPAPER_P16K |
Windows 98 / Me,Windows NT 4.0及更高版本:PRC 16K,146-255毫米 |
DMPAPER_P16K_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:中国16K旋转,215-144毫米 |
DMPAPER_P32K_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:PRC 32K旋转,151-乘97毫米 |
DMPAPER_P32KBIG |
Windows 98 / Me,Windows NT 4.0及更高版本:中国32K(大)97-×151毫米 |
DMPAPER_P32KBIG_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:中国32K(大)旋转,151-乘97毫米 |
DMPAPER_PENV_1 |
Windows 98 / Me,Windows NT 4.0及更高版本:中国信封#1,102- 165毫米 |
DMPAPER_PENV_1_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:PRC信封#1旋转,165乘102毫米 |
DMPAPER_PENV_2 |
Windows 98 / Me,Windows NT 4.0及更高版本:中国信封#2,102- 176毫米 |
DMPAPER_PENV_2_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:PRC信封#2旋转,176乘102毫米 |
DMPAPER_PENV_3 |
Windows 98 / Me,Windows NT 4.0及更高版本:中国信封#3,125- 176毫米 |
DMPAPER_PENV_3_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:PRC信封#3旋转,176- 125毫米 |
DMPAPER_PENV_4 |
Windows 98 / Me,Windows NT 4.0及更高版本:中国信封#4,110-×208毫米 |
DMPAPER_PENV_4_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:中国信封#4旋转,208-×110毫米 |
DMPAPER_PENV_5 |
Windows 98 / Me,Windows NT 4.0及更高版本:中国信封#5,110-220毫米 |
DMPAPER_PENV_5_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本: PRC信封#5旋转,220-×110毫米 |
DMPAPER_PENV_6 |
Windows 98 / Me,Windows NT 4.0及更高版本:中国信封#6,120- 230毫米 |
DMPAPER_PENV_6_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:PRC信封#6旋转,230-×120毫米 |
DMPAPER_PENV_7 |
Windows 98 / Me,Windows NT 4.0及更高版本:PRC信封#7,160- 230毫米 |
DMPAPER_PENV_7_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:PRC信封#7旋转,230- 160毫米 |
DMPAPER_PENV_8 |
Windows 98 / Me,Windows NT 4.0及更高版本:中华人民共和国信封#8,120-加上309毫米 |
DMPAPER_PENV_8_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:中国信封#8旋转,309-×120毫米 |
DMPAPER_PENV_9 |
Windows 98 / Me,Windows NT 4.0及更高版本:中国信封#9,229-乘324毫米 |
DMPAPER_PENV_9_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:中国信封#9旋转,324- 229毫米 |
DMPAPER_PENV_10_ROTATED |
Windows 98 / Me,Windows NT 4.0及更高版本:中国信封#10旋转,458- 324毫米 |
DMPAPER_QUARTO |
Quarto,215-275毫米纸 |
DMPAPER_STATEMENT |
声明,5 1 / 2-乘8 1/2英寸 |
DMPAPER_TABLOID |
小报,11- 17英寸 |
DMPAPER_TABLOID_EXTRA |
小报,11.69 x 18英寸 |
dmPaperLength
仅适用于打印机设备,可以覆盖由dmPaperSize成员指定的纸张长度,用于自定义纸张尺寸,或者可以在任意长度的页面上打印的点阵式打印机等设备。这些值以及该结构中指定物理长度的所有其他值都在十分之一毫米。
dmPaperWidth
仅适用于打印机设备,覆盖由dmPaperSize成员指定的纸张的宽度。
dmScale
指定要缩放打印输出的因子。明显的页面大小从物理页面大小缩放了dmScale/ 100的因子。例如,dmScale值为50的字母大小的页面将包含与17英寸到22英寸的页面数量相同的数据,因为输出文本和图形将是原始高度和宽度的一半。
dmCopies
如果设备支持多页复印,则选择打印份数。
dmDefaultSource
指定纸张来源。要检索打印机可用纸张来源的列表,请使用带有DC_BINS标志的DeviceCapabilities功能。
该成员可以是以下值之一,或者它可以是大于或等于DMBIN_USER的设备特定值。
DMBIN_AUTO
DMBIN_CASSETTE
DMBIN_ENVELOPE
DMBIN_ENVMANUAL
DMBIN_FIRST
DMBIN_FORMSOURCE
DMBIN_LARGECAPACITY
DMBIN_LARGEFMT
DMBIN_LAST
DMBIN_LOWER
DMBIN_MANUAL
DMBIN_MIDDLE
DMBIN_ONLYONE
DMBIN_TRACTOR
DMBIN_SMALLFMT
DMBIN_UPPER
dmPrintQuality
指定打印机分辨率。有四个预定义的与设备无关的值:
DMRES_HIGH
DMRES_MEDIUM
DMRES_LOW
DMRES_DRAFT
如果指定了正值,则它指定每英寸点数(DPI),因此与设备有关。
dmPosition
Windows 98 / Me,Windows 2000 / XP / Vista / Windows 7:仅适用于显示设备,POINTL结构,指示显示设备参考桌面区域的位置坐标。主显示设备始终位于坐标(0,0)处。
dmDisplayOrientation
Windows XP / Vista / Windows 7:仅适用于显示设备,应显示图像的方向。如果DM_DISPLAYORIENTATION未设置,则此成员必须为零。如果设置了DM_DISPLAYORIENTATION,则此成员必须是以下值之一
值 |
含义 |
DMDO_DEFAULT |
显示方向是显示装置的自然取向;它应该被用作默认值。 |
DMDO_90 |
显示方向从DMDO_DEFAULT旋转90度(顺时针测量)。 |
DMDO_180 |
显示方向从DMDO_DEFAULT旋转180度(顺时针测量)。 |
DMDO_270 |
显示方向从DMDO_DEFAULT旋转270度(顺时针测量)。 |
要确定显示方向是纵向还是横向,请查看dmPelsWidth与dmPelsHeight的比例。
dmDisplayFixedOutput
Windows XP / Vista / Windows 7:仅适用于固定分辨率显示设备,显示屏在较高分辨率显示屏上呈现低分辨率模式。例如,如果显示设备的分辨率固定为1024 x 768像素,但其模式设置为640 x 480像素,则设备可以在1024 x 768屏幕空间内部的某处显示640 x 480图像,或将640 x 480图像以填满较大的屏幕空间。如果DM_DISPLAYFIXEDOUTPUT未设置,则该成员必须为零。如果设置了DM_DISPLAYFIXEDOUTPUT,则此成员必须是以下值之一。
值 |
含义 |
DMDFO_DEFAULT |
显示屏的默认设置。 |
DMDFO_CENTER |
低分辨率图像集中在较大的屏幕空间中。 |
DMDFO_STRETCH |
低分辨率图像被拉伸以填满较大的屏幕空间。 |
dmColor
在彩色打印机上切换彩色和单色。以下是可能的值:
DMCOLOR_COLOR
DMCOLOR_MONOCHROME
dmDuplex
为能够双面打印的打印机选择双面打印或双面打印。以下是可能的值。
值 |
含义 |
DMDUP_SIMPLEX |
正常(非双面)打印。 |
DMDUP_HORIZONTAL |
短边装订,即页面的长边是水平的。 |
DMDUP_VERTICAL |
长边绑定,即页面的长边是垂直的。 |
dmYResolution
指定打印机的y分辨率(以英寸为单位)。如果打印机初始化此成员,则dmPrintQuality成员指定打印机的每英寸点数的x分辨率。
dmTTOption
指定应如何打印TrueType字体。该成员可以是以下值之一。
值 |
含义 |
DMTT_BITMAP |
将TrueType字体打印为图形。这是点阵式打印机的默认动作。 |
DMTT_DOWNLOAD |
将TrueType字体下载为软字体。这是使用打印机控制语言(PCL)的Hewlett-Packard打印机的默认操作。 |
DMTT_DOWNLOAD_OUTLINE |
Windows 95/98 / Me,Windows NT 4.0及更高版本:将TrueType字体下载为轮廓软字体。 |
DMTT_SUBDEV |
替换TrueType字体的设备字体。这是PostScript打印机的默认操作。 |
dmCollate
指定打印多个副本时是否应使用归类。(除非打印机驱动程序通过将dmFieldsno成员设置为DM_COLLATE来指示排序规则,否则将忽略此成员。)该成员可以是以下值之一。
值 |
含义 |
DMCOLLATE_TRUE |
打印多份副本时整理。 |
DMCOLLATE_FALSE |
打印多份时不要整理。 |
dmFormName
Windows NT / 2000 / XP / Vista / Windows 7:一个零终止的字符数组,指定要使用的表单的名称;例如“信”或“法定”。可以使用EnumForms功能检索完整的名称集。
Windows 95/98 / Me:打印机驱动程序不使用此成员。
dmLogPixels
指定每个逻辑英寸的像素数。打印机驱动程序不使用此成员。
dmBitsPerPel
指定显示设备的颜色分辨率(以像素为单位)(例如:16种颜色为4位,256色为8位,65,536色为16位)。显示驱动程序使用此成员,例如,在ChangeDisplaySettings功能中。打印机驱动程序不使用此成员。
dmPelsWidth
指定可见设备表面的宽度(以像素为单位)。显示驱动程序使用此成员,例如,在ChangeDisplaySettings功能中。打印机驱动程序不使用此成员。
dmPelsHeight
指定可见设备表面的高度(以像素为单位)。显示驱动程序使用此成员,例如,在ChangeDisplaySettings功能中。打印机驱动程序不使用此成员。
dmDisplayFlags
指定设备的显示模式。该成员可以是以下值的组合。
值 |
含义 |
DM_GRAYSCALE |
指定显示器是非彩色设备。如果未设置此标志,则假定为颜色。 |
DM_INTERLACED |
指定显示模式是隔行扫描。如果未设置标志,则假定为非隔行扫描。 |
显示驱动程序使用此成员,例如,在ChangeDisplaySettings功能中。打印机驱动程序不使用此成员。
dmNup
指定NUP完成的位置。它可以是以下之一。
值 |
含义 |
DMNUP_SYSTEM |
打印后台处理程序是NUP。 |
DMNUP_ONEUP |
该应用程序是NUP。 |
dmDisplayFrequency
以特定模式指定显示设备的频率,单位为赫兹(每秒的周期数)。该值也称为显示设备的垂直刷新率。显示驱动程序使用此成员。例如,它在ChangeDisplaySettings功能中使用。打印机驱动程序不使用此成员。
当您调用EnumDisplaySettings函数时,dmDisplayFrequency成员返回值为0或1。这些值表示显示硬件的默认刷新率。此默认速率通常由显示卡或计算机主板上的开关或不使用显示功能的配置程序(例如ChangeDisplaySettings)设置。
dmICMMethod
Windows 95/98 / Me; Windows 2000 / XP / Vista / Windows 7:指定如何处理ICM。对于非ICM应用程序,此成员确定ICM是启用还是禁用。对于ICM应用程序,系统检查此成员以确定如何处理ICM支持。该成员可以是以下预定义值之一,或大于或等于DMICMMETHOD_USER值的驱动程序定义值。
值 |
含义 |
DMICMMETHOD_NONE |
指定ICM被禁用。 |
DMICMMETHOD_SYSTEM |
指定ICM由Windows处理。 |
DMICMMETHOD_DRIVER |
指定ICM由设备驱动程序处理。 |
DMICMMETHOD_DEVICE |
指定ICM由目标设备处理。 |
打印机驱动程序必须提供用于设置此成员的用户界面。大多数打印机驱动程序仅支持DMICMMETHOD_SYSTEM或DMICMMETHOD_NONE值。PostScript打印机的驱动程序支持所有值。
dmICMIntent
Windows 95/98 / Me,Windows 2000 / XP / Vista / Windows 7:指定默认情况下应使用的颜色匹配方法或意图。该成员主要用于非ICM应用程序。ICM应用程序可以通过使用ICM功能来建立意图。该成员可以是以下预定义值之一,也可以是大于或等于DMICM_USER值的驱动程序定义值。
值 |
含义 |
DMICM_ABS_COLORIMETRIC |
颜色匹配应优化以匹配所要求的准确颜色,而不需要白点映射。该值最适用于打样。 |
DMICM_COLORIMETRIC |
颜色匹配应优化以匹配所要求的确切颜色。当需要确切的颜色匹配时,此值最适合用于商业标志或其他图像。 |
DMICM_CONTRAST |
颜色匹配应优化颜色对比度。当需要抖动时,该值是扫描或摄影图像最合适的选择。 |
DMICM_SATURATE |
颜色匹配应优化色彩饱和度。当不希望进行抖动时,该值是商业图表中最合适的选择。 |
dmMediaType
Windows 95/98 / Me,Windows 2000 / XP / Vista / Windows 7:指定打印介质的类型。该成员可以是以下预定义值之一,或大于或等于DMMEDIA_USER值的驱动程序定义值。
值 |
含义 |
DMMEDIA_STANDARD |
普通纸 |
DMMEDIA_GLOSSY |
光面纸。 |
DMMEDIA_TRANSPARENCY |
透明膜。 |
Windows XP:要检索打印机可用介质类型的列表,请使用带有DC_MEDIATYPES标志的DeviceCapabilities功能。
dmDitherType
Windows 95/98 / Me,Windows 2000 / XP / Vista / Windows 7:指定抖动的完成方式。该成员可以是以下预定义值之一,或大于或等于DMDITHER_USER值的驱动程序定义值。
值 |
含义 |
DMDITHER_NONE |
没有抖动。 |
DMDITHER_COARSE |
用粗刷抖动。 |
DMDITHER_FINE |
用精细的刷子抖动。 |
DMDITHER_LINEART |
线条艺术抖动,一种特殊的抖动方法,可以在黑色,白色和灰色缩放之间产生明确的边界。它不适用于包含强度和色调的连续刻度的图像,例如扫描的照片。 |
DMDITHER_ERRORDIFFUSION |
Windows 95/98 / Me:抖动,其中使用算法来扩展或扩散在相邻像素上逼近指定颜色的错误。相比之下,DMDITHER_COARSE,DMDITHER_FINE和DMDITHER_LINEART使用图案化的色调近似颜色。 |
DMDITHER_GRAYSCALE |
设备执行灰度缩放。 |
dmReserved1
Windows 95/98 / Me,Windows 2000 / XP / Vista / Windows 7:未使用;必须为零。
dmReserved2
Windows 95/98 / Me,Windows 2000 / XP / Vista / Windows 7:未使用;必须为零。
dmPanningWidth
Windows NT / 2000 / XP / Vista / Windows 7:该成员必须为零。
Windows 95/98 / Me:不支持此成员。
dmPanningHeight
Windows NT / 2000 / XP / Vista / Windows 7:该成员必须为零。
Windows 95/98 / Me:不支持此成员。
注意 - dmUnusedPadding:用于将结构对齐到DWORD边界。这不被使用或引用。其名称和用法保留,并可在将来的版本中更改。
备注
设备驱动程序的私有数据遵循DEVMODE结构的公开部分。对于不同版本的结构,公共数据的大小可能会有所不同。dmsiz到成员指定公共数据的字节数,dmDriverExtra成员指定私有数据的字节数。
引用文件 #INCLUDE Once
WinGdi.inc(包括Windows.inc)