
GetDeviceCaps功能检索有关指定设备的特定于设备的信息。
int GetDeviceCaps(
HDC 【HDC】, | //设备上下文句柄 |
INT 【参数nIndex】 | //查询能力的索引 |
); | |
参数
【HDC】
标识设备上下文。
【参数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 | 用于线条绘制的设备像素的对角线宽度。 |
PDEVICESIZE | 保留。 |
CLIPCAPS | 指示设备的剪切功能的标志。如果设备可以剪辑成矩形,则为1。否则为0。 |
SIZEPALETTE | 系统调色板中的条目数。该索引仅在设备驱动程序设置RASTERCAPS索引中的RC_PALETTE位且仅当驱动程序与Windows 3.0或更高版本兼容时可用。 |
NUMRESERVED | 系统调色板中保留的条目数。该索引仅在设备驱动程序设置RASTERCAPS索引中的RC_PALETTE位且仅当驱动程序与Windows 3.0或更高版本兼容时可用。 |
COLORRES | 器件的实际颜色分辨率,以像素为单位。该索引仅在设备驱动程序设置RASTERCAPS索引中的RC_PALETTE位且仅当驱动程序与Windows 3.0或更高版本兼容时可用。 |
PHYSICALWIDTH | 对于打印设备:物理页面的宽度,以设备为单位。例如,设置为以8.5“x11”纸张上的600 dpi打印的打印机的物理宽度值为5100设备单位。请注意,物理页面几乎总是大于页面的可打印区域,并且从不更小。 |
PHYSICALHEIGHT | 对于打印设备:物理页面的高度,以设备为单位。例如,设置为以8.5“x11”纸张上的600 dpi打印的打印机的物理高度值为6600个设备单位。请注意,物理页面几乎总是大于页面的可打印区域,并且从不更小。 |
PHYSICALOFFSETX | 对于打印设备:以物理页面的左边缘到可打印区域的左边缘的距离,以设备为单位。例如,设置为以最大0.25“纸张打印的8.5”x11“纸张上的600 dpi打印的打印机的水平物理偏移量为150个设备单位。 |
PHYSICALOFFSETY | 对于打印设备:以物理页面的顶部边缘到可打印区域的顶部边缘的距离,以设备为单位。例如,设置为以最大0.5“纸张打印的8.5”x11“纸张上的600 dpi打印的打印机的垂直物理偏移量为300个设备单位。 |
VREFRESH | 仅Windows NT:对于显示设备:设备的当前垂直刷新率,以秒为单位(Hz)。 垂直刷新率为0或1表示显示硬件的默认刷新率。此默认速率通常由显示卡或计算机主板上的开关或不使用Win32显示功能的配置程序(如ChangeDisplaySettings)设置。 |
DESKTOPHORZRES | 仅Windows NT:虚拟桌面的宽度(以像素为单位)。如果设备支持虚拟桌面或多个显示器,则此值可能大于HORZRES。 |
DESKTOPVERTRES | 仅Windows NT:虚拟桌面的高度(以像素为单位)。如果设备支持虚拟桌面或多个显示器,则该值可能大于VERTRES。 |
BLTALIGNMENT | 仅Windows NT:首选水平绘图对齐,表示为像素的倍数。为了获得最佳绘图性能,窗口应该水平对齐到该值的倍数。值为零表示设备被加速,并且可以使用任何对齐。 |
RASTERCAPS | 指示设备的光栅功能的值,如下表所示: |
CURVECAPS | 表示设备曲线功能的值,如下表所示: |
值 | 含义 |
CC_NONE | 设备不支持曲线。 |
CC_CIRCLES | 设备可以绘制圆。 |
CC_PIE | 设备可以画饼饼。 |
CC_CHORD | 设备可以绘制和弦弧。 |
CC_ELLIPSES | 设备可以画出椭圆。 |
CC_WIDE | 设备可以绘制宽边框。 |
CC_STYLED | 设备可以绘制样式边框。 |
CC_WIDESTYLED | 设备可以绘制宽和风格的边框。 |
CC_INTERIORS | 设备可以绘制内饰。 |
CC_ROUNDRECT | 设备可以绘制圆角矩形。 |
LINECAPS | 表示设备线路功能的值,如下表所示: |
值 | 含义 |
LC_NONE | 设备不支持线路。 |
LC_POLYLINE | 设备可以绘制折线。 |
LC_MARKER | 设备可以绘制一个标记。 |
LC_POLYMARKER | 设备可以绘制多个标记。 |
LC_WIDE | 设备可以画宽线。 |
LC_STYLED | 设备可以绘制样式线。 |
LC_WIDESTYLED | 设备可以绘制宽而风格的线条。 |
LC_INTERIORS | 设备可以绘制内饰。 |
POLYGONALCAPS | 表示设备的多边形功能的值,如下表所示: |
值 | 含义 |
PC_NONE | 设备不支持多边形。 |
PC_POLYGON | 设备可以绘制交替填充多边形。 |
PC_RECTANGLE | 设备可以绘制矩形。 |
PC_WINDPOLYGON | 设备可以绘制绕线填充多边形。 |
PC_SCANLINE | 设备可以绘制单个扫描线。 |
PC_WIDE | 设备可以绘制宽边框。 |
PC_STYLED | 设备可以绘制样式边框。 |
PC_WIDESTYLED | 设备可以绘制宽和风格的边框。 |
PC_INTERIORS | 设备可以绘制内饰。 |
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 | Reserved; must be zero. |
TC_SCROLLBLT | 设备无法使用位块传输滚动。请注意,这个含义可能与您期望的相反。 |
返回值
返回值指定所需项目的值。
也可以看看
CreateEnhMetaFile, CreateIC, DeviceCapabilities, GetDIBits, GetObjectType, SetDIBits, SetDIBitsToDevice, StretchBlt, StretchDIBits