• delphi 设备函数GetDeviceCaps函数


    {说明:以下内容来源于网络,修改多处错误所得 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

  • 相关阅读:
    165. Compare Version Numbers
    164. Maximum Gap
    3、桶排序
    162. Find Peak Element
    160. Intersection of Two Linked Lists
    155. Min Stack
    154. Find Minimum in Rotated Sorted Array II
    153. Find Minimum in Rotated Sorted Array
    Linux/Unix系统编程手册 第二章:基本概念
    Linux/Unix系统编程手册 第一章:历史和标准
  • 原文地址:https://www.cnblogs.com/guorongtao/p/11622296.html
Copyright © 2020-2023  润新知