GetDeviceCaps

【勇芳软件工作室】汉化HomePreviousNext

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指示设备的光栅功能的值,如下表所示:

能力含义
RC_BANDING需要条带支持。
RC_BITBLT能够传输位图。
RC_BITMAP64能够支持大于64K的位图。
RC_DI_BITMAP能支持SetDIBitsGetDIBits功能。
RC_DIBTODEV能够支持SetDIBitsToDevice功能。
RC_FLOODFILL能够进行洪水填补。
RC_GDI20_OUTPUT能够支持Windows 2.0的功能。
RC_PALETTE指定基于调色板的设备。
RC_SCALING能够缩放
RC_STRETCHBLT能够执行StretchBlt功能。
RC_STRETCHDIB能够执行StretchDIBits功能。

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_RESERVEDReserved; must be zero.
TC_SCROLLBLT设备无法使用位块传输滚动。请注意,这个含义可能与您期望的相反。

返回值

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

也可以看看

CreateEnhMetaFile, CreateIC, DeviceCapabilities, GetDIBits, GetObjectType, SetDIBits, SetDIBitsToDevice, StretchBlt, StretchDIBits