王朝百科
分享
 
 
 

DEVMODE

王朝百科·作者佚名  2012-05-19  
宽屏版  字体: |||超大  

DEVMODE数据结构中包含了有关设备初始化和打印机环境的信息

DEVMODE结构

DEVMODE结构具有如下形式:

typedef struct _devicemode

{ /* dvmd */

TCHAR dmDeviceName[32];

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;

TCHAR dmFormName[32];

WORD dmUnusedPadding;

USHORT dmBitsPerPel;

DWORD dmPelsWidth;

DWORD dmPelsHeight;

DWORD dmDisplayFlags;

DWORD dmDisplayFrequency;

} DEVMODE;

DEVMODE数据结构中包含了有关设备初始化和打印机环境的信息。

成员: dmDeviceName 指定了驱动程序支持的设备名称;例如,对于PCL/HP LaserJet系列,会是CL/HP激光打印机。这个字符串在设备驱动程序之间是相互不同的。

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成员来设置的话,这个成员可以被设为0。否 则,dwPaperSize成员可以被设为以下值之一: DMPAPER_LETTER letter, 8 1/2×1 英寸

MPAPER_LEGAL Legal, 8 1/2×14 英寸

DMPAPER_A4 A4 letter, 210×297 毫米

DMPAPER_CSHEET C letter, 17×22 英寸

DMPAPER_DSHEET D letter, 22×34 英寸

DMPAPER_ESHEET E letter, 34×44 英寸

DMPAPER_LETTERSMALL letter small, 8 1/2×11 英寸

DMPAPER_TABLOID Tabloid, 11×17 英寸

DMPAPER_LEDGER Ledger, 17×11 英寸

DMPAPER_STATEMENT Statement, 5 1/2×8 1/2 英寸

DMPAPER_EXECUTIVE Executive, 7 1/4×10 1/2 英寸

DMPAPER_A3 A3 Sheet, 297×420 毫米

DMPAPER_A4SMALL A4 Small Sheet, 210×297 毫米

DMPAPER_A5 A5 Sheet, 148×210 毫米

DMPAPER_B4 B4 Sheet, 250×354 毫米

DMPAPER_B5 B5 Sheet, 182×257 毫米

DMPAPER_FOLIO Folio, 8 1/2×13 英寸

DMPAPER_QUARTO Quarto, 215×275 毫米

DMPAPER_10X14 10×14 英寸

DMPAPER_11X17 11×17 英寸

DMPAPER_NOTE Note, 8 1/2×11 英寸

DMPAPER_ENV_9 #9 EnVelope, 3 7/8×8 7/8 英寸

DMPAPER_ENV_10 #10 EnVelope, 4 1/8×9 1/2 英寸

DMPAPER_ENV_11 #11 EnVelope, 4 1/2×10 3/8 英寸

DMPAPER_ENV_12 #12 EnVelope, 4 3/4×11 英寸

DMPAPER_ENV_14 #14 EnVelope, 5×11 1/2 英寸

DMPAPER_ENV_DL DL EnVelope, 110×220 毫米

DMPAPER_ENV_C5 C5 EnVelope, 162×229 毫米

DMPAPER_ENV_C3 C3 EnVelope, 324×458 毫米

DMPAPER_ENV_C4 C4 EnVelope, 229×324 毫米

DMPAPER_ENV_C6 C6 EnVelope, 114×162 毫米

DMPAPER_ENV_C65 C65 EnVelope, 114×229 毫米

DMPAPER_ENV_B4 B4 EnVelope, 250×353 毫米

DMPAPER_ENV_B5 B5 EnVelope, 176×250 毫米

DMPAPER_ENV_B6 B6 EnVelope, 176×125 毫米

DMPAPER_ENV_ITALY Italy EnVelope, 110×230 毫米

DMPAPER_ENV_MONARCH Monarch EnVelope, 3 7/8×7 1/2 英寸

DMPAPER_ENV_PERSONAL 6 3/4 EnVelope, 3 5/8×6 1/2 英寸

DMPAPER_FANFOLD_US US Std Fanfold, 14 7/8×11 英寸

DMPAPER_FANFOLD_STD_GERMAN German Std Fanfold, 8 1/2×12 英寸

DMPAPER_FANFOLD_LGL_GERMAN German Legal Fanfold, 8 1/2×13 英寸

dmPaperLength 重定义由dmPaperSize成员指定的纸张长度,可用于自定义纸张大小,也可以用于点阵打印机,这种打印机能打出任意长度的纸张。这些值与这个结构中其他指定物理长度的值都是以0.1毫米为单位的。

dmPaperWidth 重载由dmPaperSize成员指定的纸张宽度。

dmScale 指定了打印输出的缩放因子。实际的页面大小为物理纸张的大小乘以dmScale/100。例如,对于信纸大小的纸张,如果dmScale的值为50,它将可以容纳相当于17×22英寸页面的内容,因为输出的文本和图形的宽、高都将是原始大小的一半。

dmCopies 如果设备支持多页拷贝,则选择了要打印的拷贝数目。

dmDefaultSource 保留,必须为0。

dmPrintQuality 指定了打印机的分辨率。有四种预定义的与设备无关的值:

DMRES_HIGH

DMRES_MEDIUM

DMRES_LOW

DMRES_DRAFT

如果给定了一个正值,它就指定了每英寸打印的点数(DPI),因此是与设备有关的。

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)的惠普打印机的缺省动作。

· DMTT_SUBDEV 用TrueType字体替换设备字体。这是PostScript系列打印机的缺省动作。

dmCollate 指定在打印多份拷贝的时候是否使用校对。使用DMCOLLATE_FALSE后能够得到更快更有效的输出,因为不管要打印多少份拷贝,只向打印机传送一次 数据。打印机仅被通知再打印一页。这个成员可以是下列值之一: · DMCOLLATE_TRUE 当打印多份拷贝时进行校对。

· DMCOLLATE_FALSE 当打印多份拷贝时不进行校对。

dmFormName 指定了要使用的格式名字。例如,Letter或Legal。这些名字的完整集合可以通过Windows的EnumForms函数获得。

dmUnusedPadding 用于将结构对齐到DWORD边界。不能使用或引用这个成员。它的名字和用法是保留的,在以后的版本中可能会变化。

dmBitsPerPel 指定了显示设备的颜色分辨率,以像素的位数为单位。例如,16色使用4位,256色使用8位,而65536色使用16位。

dmPelsWidth 指定了可见设备表面的以像素为单位的宽度。dmPelsHeight指定了可见设备表面的以像素为单位的高度。

dmDisplayFlags 指定了设备的显示模式。下面是有效的标志: · DM_GRAYSCALE 指定显示使用了无颜色设备。如果没有设置这个标志,就假定彩色模式。

· DM_INTERLACED 指定了隔行显示模式。如果没有设置这个标志,就假定非隔行模式。

dmDisplayFrequency 指定了显示设备的特定模式所使用的以赫兹为单位的频率(每秒的周期数)。

注释:

在dmDisplayMode成员后面将是一些设备驱动程序的私有数据。以字节为单位的私有数据数目是由dmDriverExtra成员指定的。

请参阅:CDC::ResetDC, CPrintDialog::GetDevMode

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有