{说明:以下内容来源于网络,修改多处错误所得 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. Codeforces 961E - Tufurama 树状数组

    转自:https://blog.csdn.net/my_sunshine26/article/details/79831362 题目大意: i从1开始 基本思路: 完全没思路,所以上来就二分,果不其然 ...

  2. java输出当前文件所在路径

    System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径

  3. SSD的理解,为PyramidBox做准备

    目标检测主流方法有两大类 two-stage,以rcnn系列为主,采用建议框的方式对目标进行预测,过程首先要经过网络生成候选框,分类背景前景与进行第一次回归,之后再进行一次精细回归. 优点是准确率高, ...

  4. Python内置数学函数

    class NumString: def __init__(self, value): self.value = str(value) def __str__(self): return self.v ...

  5. vue 路由动态传参 (多个)

    动态传参 传值页面  客户列表clientList.vue 路由 router.js 配置路由 接收参数的页面  客户详情CustomerDetails.vue 通过this.$router.para ...

  6. testNG之顺序执行

    @Test   testNG1.java: import org.testng.annotations.Test; public class testNG1 { @Test public void t ...

  7. node 桌面应用开发

    1.node桌面应用开发的框架 :electron 和 nw.js     https://www.jianshu.com/p/c6bdb087e60d 2.使用electron构建跨平台Node.j ...

  8. PHP基础知识总结(四) 留言板例子 知识应用

    1.留言板显示页面:note.php <?php $host = "127.0.0.1"; $user = "root"; $pwd = "zs ...

  9. ARM 是什么

    ARM Advanced RISC Machines. RISC 就是reduced instruction set computer 精简指令集计算机DSP digtal signal Proces ...

  10. 修改 DbVisualizer 自动完成快捷键

    1.找到 DbVisualizer 安装目录 lib目录 下的 dbvis.jar 包. 2.使用 WinRaR 打开dbvis.jar包,编辑 dbvis-actions.xml 文件(解压或直接修 ...