{说明:以下内容来源于网络,修改多处错误所得 2019.10.04 }

GetDeviceCaps 函数功能:该函数检索指定设备的设备指定信息。该函数经常用在操作打印机等设备中。
函数原型:int GetDeviceCaps(HDC hdc, int nlndex);
参数说明:
 1、hdc:设备上下文环境的句柄。
 2、nIndex:指定返回项,该参数取下列一值:

  DRIVERVERSION:设备驱动程序版本。
  TECHNOLOGY:设备技术,它可以是下列一值:
  DT_PLOTTER:矢量绘图仪;DT_RASDISPLAY:光栅显示器;
  DT_RASPRINTER:光栅打印机;DT_RASCAMERA:光栅照相机;
  DT_CHARSTREAM:字符流;DT_METAFILE:图元文件;
  DT_DISPFILE:显示器文件。
  如果hdc参数指定图元文件的设备上下文环境,则设备技术就是给CreateEnhMetaFile函
数的引用设备,使用GetObjectType函数可以确定它是否是一增强元文件设备上下文环境。
  HORZSIZE:物理屏幕的宽度(毫米);VERTSIZE:物理屏幕的高度(毫米);HORZRES:屏幕的宽度(像素);
  VERTRES:屏幕的高度(像素);
  LOGPIXELSX:沿屏幕宽度每逻辑英寸的像素数,在多显示器系统中,该值对所显示器相同;
  LOGPIXELSY:沿屏幕高度每逻辑英寸的像素数,在多显示器系统中,该值对所显示器相同;
  BITSPIXEL:像素相连颜色位数;PLANES:颜色位面数;NUMBRUSHES:设备指定同画笔数;
  NUMPENS:设备指定笔数;NUMFONTS:设备指定字体数;
  NUMCOLORS:设备颜色表的入口数,如果设备的色深不超过8位像素。对于超过色深的设备返回-1;
  ASPECTX:用于画线的设备像素的相对宽度;ASPECTY:用于画线的设备像素的相对高度;
  ASPECTXY:用于画线的设备像素的对角线宽度;PDEVLCESIZE:保留;
  CLIDCAPS:显示设备支持剪切性能的标志。如果设备可剪切为一个长方形,则为1,否则为0;
  SIZEPALETTE:系统调色板中的入口数目,只有在设备驱动器在RASTERCAPS索引中设置RC PALETFE位时该索引值才是有效的。
且该索引值只能用于16位Windows的驱动器;
  NUMRESERVED:系统调色板中保留的入口数目,只有在设备驱动器在RASTERLAP索引中设置RC PALETFE位时,该索引值才是有
效的且该索引值只有能于16位的Windows驱动器;
  COLORRES:实际位像的实际设备颜色,只有设备驱动器在RASTERLAP索引中设置RCPALETFE位时,该索引值才是有效的且该索
引值只能用于16位的Windows驱动器;
  PHYSICALWIDTH:对于打印设备,为以设备单位的物理页面宽度。例如一个在8.5*11纸上设置为600dpi的打印机的设备物理单
位宽度值为5100,注意物理页面总是大于可打印的页面面积,且从不小于;
  PHYSICALHEIGHT:为以设备单位的物理页面高度。例如一个在8.5*11纸上设置为600dpi的打印机的设备物理单位高度值为6600;
  PHYSICALOFFSETX:对于打印设备,从物理页面左边到打印页面右边的距离,例如,一个在8.5*11纸上设置为600dpi的打印机,
不能在超出左边0.25处打印,且有一个150备单位的水平物理位移;
  PHYSICALOFFSETY;对于打印设备。从物理页面上面到打印页面上边的距离。例如一个在8.5*11打印纸上设置为的打印机,不能
在超出上边的地方打处,且有一个设备单位的物理位移;
  VREFRESH:Windows NT:对于显示设备。设备的当前垂直刷新率以每秒中的循环次数为单位0或1刷新率代表显示硬件的缺省刷新率,
此缺省刷新率通常通过设置显卡或主板的跳线来改变,或通过一个不使用Win32显示函数比如ChangeDisplay Setting的一个配置程序来设置;

  显示设备的当前垂直刷新率(仅适用于显示器),单位为赫兹

  DESKTOPVERTRES:整个桌面的垂直高度(像素)  2019.10.04

  DESKTOPHORZRES:Windows NT:可视桌面的以像素为单位的宽度。如果设备支持一个可视桌面或双重显示则此值可能大于VERTRES;

  SCALINGFACTORX:打印机x轴的比例系数;SCALINGFACTORY:打印机y轴的比例系数。
  BLTALIGNMENT:在Windows NT中作为像素倍数的水平绘图调整,对于最好的绘图操作,窗口绘图应该是水平调整到此值的倍数。
0显示设备为加速的,且可用任何调整。
  SHADEBLENDCAPS:在Windows 98、Windows NT 5.0和以后版本中此值显示设备的阴影和混合特性。
  SB_CONST_ALPHA:处理BLENDFUNCTION结构中的Source constantAlpha元素,并通过AlphaBlend数中的blendFunction参数来指定;
  SB_GRAD_RECT:进行Gradientfill矩形填充的能力。SB_GRAD_TRI;进行Gradientfill三角形填充的能力;
  SB_NONE:设备不支持这些特性中的任何一个。SB_PIXEL_ALPHA:处理AlphaBlond中每一个像素Alphx;
  SB_PREMULT_ALPHA:在Alphablend中对alpha进行预乘;
  RASTERCAPS:设备所支持的光栅性能,可以是下列值的某种组合;
  RC_BANDING:需要联合支持。RC_BITBLT:支持传送位图。
  RC_BITMAP64:支持大于64K的位图。RC_DI_BITMAP:支持SetDIBits和GetDIBits函数。
  RC_DIBTODEV:支持SetDIBits To Device函数;RC_FLOODFILL:支持连续填充
  RC_GDI20_OUTPUT:支持16位Windows 2.0特征;RC_PALETTE:指定一个基于调色板的设备。
  RC_SCALING:支持缩放;RC_STRETCHBLT:支持StretchBlt函数。
  RC_STRETCHDIB:stretchDIBits函数。
  CURVECAPS:显示设备所支持的曲线性能,可以是下列值的某种组合。
  CC_NONE:不支持绘制曲线;CC_CHORD:支持绘制弦;CC_CIRCLES:支持绘制圆。
  CC_ELLIPSES:支持绘制椭圆;CC_INTERIORS:支持内部填充;CC_PIE:支持绘制扇形图。
  CC_ROUNDRECT:支持绘制圆角矩形;CC_STYLED:支持绘制带风格的边界。
  CC_WIDE:支持绘制宽的边界;CC_WIDESTYLED:支持绘制宽的、带风格的边界。
  LINECAPS设备所支持的画线性能,可以是下列值的某种组合:
  LC_NONE:不支持绘制线段;LC_INTERIORS:支持内部填充;LC_MARKER:支持绘制标记符。
  LC_POLYLINE:支持折线;LC_POLYMARKER:支持多种标记符;LC_STYLED:带风格的线段。
  LC_WIDE:支持画宽线;LC_WIDESTYLED:支持宽的带风格的线段。
  POLYGONALCAPS设有所支持的多边形性能。可以是下列值的某种组合。
  PC_NONE:不支持绘制多边形;PC_INTERIORS:支持内部填充;PC_POLYGON:支持绘制间隔式填充多边形。
  PC_RECTANGLE:支持绘制矩形;PC_SCANLINE:支持绘制扫描线;PC_STYLED:支持绘制带风格的边界。
  PC_WIDE:支持绘制宽边界;PC_WIDESTYLED:支持绘制宽的带风格的边界。
  PC_WINDPOLYGON:支持绘制折线式填充多边形。
  TEXTCAPS设备所支持的文字性能,可以是下列值的某种组合:
  TC_OP_CHARACTER:支持字符输出精度;TC_OP_STROKE:支持笔画输出精度。
  TC_CP_STROKE:支持笔画剪切精度;TC_CR_90:支持字符作90度旋转;
  TC_CR_ANY:支持字符作任意角度旋转;TC_SF_X_YINDEP:支持x和y方向的独立缩放。
  TC_SA_DOUBLE:支持把字符放大一倍;TC_SA_INTEGER:支持整数倍缩放。
  TC_SA_CONTIN:支持以任何倍数的严格缩放;TC_EA_DOUBLE:支持字符加重。
  TC_IA_ABLE:支持斜字体;TC_UA_ABLE:支持下划线;TC_SO_ABLE:支持删除线。
  TC_RA_ABLE:支持光栅字体;TC_VA_ABLE:支持矢量字体;TC_RESERVED:保留、必须为零。
  TC_SCROLLBLT:不支持用位快传递来滚动,注意这可能事与愿违。
  所有类型均声明为 Int 或者 INT32 即可

  DRIVERVERSION = 0
  TECHNOLOGY = 2
  HORZSIZE = 4
  VERTSIZE = 6
  HORZRES = 8
  VERTRES = 10
  BITSPIXEL = 12
  PLANES = 14
  NUMBRUSHES = 16
  NUMPENS = 18
  NUMMARKERS = 20
  NUMFONTS = 22
  NUMCOLORS = 24
  PDEVICESIZE = 26
  CURVECAPS = 28
  LINECAPS = 30
  POLYGONALCAPS = 32
  TEXTCAPS = 34
  CLIPCAPS = 36
  RASTERCAPS = 38
  ASPECTX = 40
  ASPECTY = 42
  ASPECTXY = 44
  SHADEBLENDCAPS = 45
  LOGPIXELSX = 88
  LOGPIXELSY = 90
  SIZEPALETTE = 104
  NUMRESERVED = 106
  COLORRES = 108
  PHYSICALWIDTH = 110
  PHYSICALHEIGHT = 111
  PHYSICALOFFSETX = 112
  PHYSICALOFFSETY = 113
  SCALINGFACTORX = 114
  SCALINGFACTORY = 115
  VREFRESH = 116
  DESKTOPVERTRES = 117
  DESKTOPHORZRES = 118
  BLTALIGNMENT = 119

  返回值:返回值指定所需项目的值。

  注释:GetDeviceCaps提供下列六个索引以代替打印机消失。
  PHYSICALWIDTH GETPHYSPAGESIZE; PHYSICALHEIGHT GETPHYSPAGESIZE
  PHYSICALOFFSETX GETPRINTINGOFFSET;
  PHYSICALOFFSETY GETPHYSICALOFFSET;
  SCALINGFACTORX GETSCALINGFACTOR;
  SCALINGFACTORY GETSCALINGFACTOR;
  Windows CE:Windows CE不支持nIndex参数取下列值:
  VREFRESH; DESKTOPHORZRES; DESKTOPVERTRES;BLTALIGNMENT
  Windows CE 1.0不支持nIndex参数取下列值:
  PHYSICALWIDTH; PHYSICALHEIGHT; PHYSICALOFFSETX; PHYSICALOFFSETY
  速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:wingdi.h;库文件:gdi32.lib。

  GetDeviceCaps(HORZSIZE) 
  HORZSIZE 以毫米为单位的显示宽度 
  VERTSIZE 以毫米为单位的显示高度 
  HORZRES 以像素为单位的显示宽度 0~65535
  VERTRES 以像素为单位的显示高度 0~65535
  LOGPIXELSX 像素/逻辑英寸(水平) 
  LOGPIXELSY 像素/逻辑英寸(垂直)

最近修改:2019.12.17

delphi 设备函数GetDeviceCaps函数的更多相关文章

  1. Delphi中使用@取函数地址的问题(转)

    Delphi中使用@取函数地址的问题   例如以下代码:unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes ...

  2. Delphi中的四舍五入函数

    一.Delphi中的四舍五入法     四舍五入是一种应用非常广泛的近似计算方法,针对不同的应用需求,其有算术舍入法和银行家舍入法两种.     所谓算术舍入法,就是我们通常意义上的四舍五入法.其规则 ...

  3. Delphi下的RTTI函数大全

    http://ljz9425.blog.163.com/blog/static/369148572008111635253858/ Delphi下的RTTI(下) 2008-12-16 15:52:5 ...

  4. Delphi内存操作API函数(备查,并一一学习)

    Delphi内存操作API函数System.IsMemoryManagerSet;System.Move;System.New;System.ReallocMem;System.ReallocMemo ...

  5. Delphi 常用函数(数学函数)round、trunc、ceil和floor

    源:Delphi 常用函数(数学函数)round.trunc.ceil和floor Delphi 常用函数(数学) Delphi中怎么将实数取整? floor 和 ceil 是 math unit 里 ...

  6. delphi的一个公用函数库

    delphi的一个公用函数库 {********************************************** ***  Name: PublicFunc; ***  Author: l ...

  7. delphi中Application.MessageBox函数用法详解

    delphi中Application.MessageBox函数用法详解 Application.MessageBox是TApplication的成员函数,声明如下:functionTApplicati ...

  8. Delphi XE6 Android拨号函数

    http://blog.sina.com.cn/s/blog_44fa172f0101rpex.html Delphi XE6 Android拨号函数 (2014-05-07 17:48:51) 转载 ...

  9. Delphi StringReplace – 替换字符函数

    Delphi StringReplace – 替换字符函数 Delphi中的StringReplace函数是SysUtils单元中自带的函数,该函数可以替换字符串中的指定字符. 1 2 3 4 5 6 ...

随机推荐

  1. Windows7有“系统保留”分区时,安装系统要注意的两点

    1.手动格式化“系统保留”分区 2.格式化完成之后,安装系统到第二个分区,不能安装到“系统保留”分区 具体看图: 本文章转载于辰羿的博客,如有侵权请联系本论坛维护者删除.

  2. Jenkins的安装、部署、启动(完整教程)

    测试环境 Linux系统 Centos 7 安装步骤: 1.安装jdk 我安装的是jdk8,此处就不多说了,自己百度哈,很简单 2.安装jenkins 首先依次执行如下三个命令: 2.1.导入镜像: ...

  3. 企业实践 | 如何更好地使用 Apache Flink 解决数据计算问题?

    业务数据的指数级扩张,数据处理的速度可不能跟不上业务发展的步伐.基于 Flink 的数据平台构建.运用 Flink 解决业务场景中的具体问题等随着 Flink 被更广泛的应用于广告.金融风控.实时 B ...

  4. eureka学习(二)

    eureka服务端创建好后,现在我们让eureka客户端(也就是服务提供者)注册到eureka上去. 首先加入依赖包: <!--将微服务provider注册到eureka--> <d ...

  5. Windows最值得安装的小众软件

    用电脑这么久,也琢磨出自己的一些使用心得.今天和大家分享几个Windows效率工具.数量不多,但每个都是精品. ▌软件下载-卫星公众好「悦享软件」,在后台会话框中回复关键字:h108 1.Ditto ...

  6. js事件---同一个事件实现全选与反选功能

    背景: 点击头部按钮,实现全选与反选功能 1.绑定事件,把当前勾选状态传递给方法 $event <el-checkbox v-model="ModelCheckAll" cl ...

  7. hdu 4336 Card Collector(状压dp/Min-Max反演)

    传送门 解题思路 第一种方法是状压\(dp\),设\(f(S)\)为状态\(S\)到取完的期望步数,那么\(f(S)\)可以被自己转移到,还可以被\(f(S|(1<<i))\)转移到,\( ...

  8. javascript 对象的设计模式

    1.为什么学习设计模式:http://www.iteye.com/news/32092   或  https://blog.csdn.net/pigpigpig4587/article/details ...

  9. thinkphp 连接多个数据库

    config配置文件 //数据库配置信息 'DB_CONFIG' => array( 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => 'loc ...

  10. flask-sqlalchemy报错 Object '<User at xxxx>' is already attached to session '1' (this is '2')

    报错:  Object '<User at xxxx>' is already attached to session '1' (this is '2') 结论:      两个不同的db ...