描述
GetDeviceCaps功能检索指定设备的设备特定信息。
C++ 语法
int GetDeviceCaps( __in HDC hdc, __in int nIndex ); |
PowerBASIC 语法
FUNCTION GetDeviceCaps ( _ BYVAL hdc AS DWORD, _ BYVAL nIndex AS LONG _ ) AS LONG |
参数
hdc
[in]处理DC。
nIndex
[in]指定要返回的项目。此参数可以是以下值之一。
DRIVERVERSION |
设备驱动程序版本。 |
||||||||||||||||||||||||||||||||||
TECHNOLOGY |
设备技术。它可以是以下值之一。
如果hDC参数是增强型图元文件的DC的句柄,则设备技术是CreateEnhMetaFile函数指定的引用设备。要确定它是否是增强型图元文件DC,请使用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位且仅当驱动程序与16位Windows兼容时可用。 |
||||||||||||||||||||||||||||||||||
NUMRESERVED |
系统调色板中保留的条目数。该索引仅在设备驱动程序设置RASTERCAPS索引中的RC_PALETTE位且仅当驱动程序与16位Windows兼容时可用。 |
||||||||||||||||||||||||||||||||||
COLORRES |
器件的实际颜色分辨率,以像素为单位。该索引仅在设备驱动程序设置RASTERCAPS索引中的RC_PALETTE位且仅当驱动程序与16位Windows兼容时可用。 |
||||||||||||||||||||||||||||||||||
PHYSICALWIDTH |
对于打印设备:物理页面的宽度,以设备为单位。例如,设置为在8.5-x11英寸纸张上以600 dpi打印的打印机的物理宽度值为5100设备单位。请注意,物理页面几乎总是大于页面的可打印区域,而不会更小。 |
||||||||||||||||||||||||||||||||||
PHYSICALHEIGHT |
对于打印设备:物理页面的高度,以设备为单位。例如,设置为以8.5×11英寸纸张打印600 dpi打印机的物理高度值为6600设备单位。请注意,物理页面几乎总是大于页面的可打印区域,而不会更小。 |
||||||||||||||||||||||||||||||||||
PHYSICALOFFSETX |
对于打印设备:以物理页面的左边缘到可打印区域的左边缘的距离,以设备为单位。例如,设置为以600 dpi打印的8.5×11英寸纸张的打印机不能在最左边的0.25英寸纸张上打印,具有150个设备单位的水平物理偏移。 |
||||||||||||||||||||||||||||||||||
PHYSICALOFFSETY |
对于打印设备:以物理页面的顶部边缘到可打印区域的顶部边缘的距离,以设备为单位。例如,设置为以600 dpi打印的8.5×11英寸纸张的打印机不能在最上面的0.5英寸纸张上打印,具有300个设备单位的垂直物理偏移。 |
||||||||||||||||||||||||||||||||||
VREFRESH |
Windows NT / 2000 / XP/ VISTA / Windows 7的:对于显示设备:设备的当前垂直刷新率,以秒为单位(Hz)。
垂直刷新率为0或1表示显示硬件的默认刷新率。此默认速率通常由显示卡或计算机主板上的开关或不使用显示功能的配置程序(如ChangeDisplaySettings)设置。 |
||||||||||||||||||||||||||||||||||
SCALINGFACTORX |
打印机x轴的缩放系数。 |
||||||||||||||||||||||||||||||||||
SCALINGFACTORY |
打印机y轴的缩放因子。 |
||||||||||||||||||||||||||||||||||
BLTALIGNMENT |
Windows NT / 2000 / XP/ VISTA / Windows 7的:首选水平绘图对齐,表示为像素的倍数。为了获得最佳绘图性能,窗口应该水平对齐到该值的倍数。值为零表示设备被加速,并且可以使用任何对齐。 |
||||||||||||||||||||||||||||||||||
SHADEBLENDCAPS |
Windows 98 / Me,Windows 2000 / XP/ VISTA / Windows 7的:表示设备的阴影和混合功能的值。有关进一步的意见,请参阅备注。
|
||||||||||||||||||||||||||||||||||
RASTERCAPS |
指示设备的光栅功能的值,如下表所示。
|
||||||||||||||||||||||||||||||||||
CURVECAPS |
表示设备的曲线功能的值,如下表所示。
|
||||||||||||||||||||||||||||||||||
LINECAPS |
表示设备线路功能的值,如下表所示:
|
||||||||||||||||||||||||||||||||||
POLYGONALCAPS |
表示设备的多边形功能的值,如下表所示。
|
||||||||||||||||||||||||||||||||||
TEXTCAPS |
表示设备的文本功能的值,如下表所示。
|
||||||||||||||||||||||||||||||||||
COLORMGMTCAPS |
Windows 2000 / XP/ VISTA / Windows 7的:表示设备的颜色管理功能的值。
|
返回值
返回值指定所需项目的值。
当nIndex为BITSPIXEL,设备为15bpp或16bpp时,返回值为16。
备注
不要调用此方法从XPSDrv驱动程序获取打印机功能。而是使用Windows驱动开发套件中描述的DrvDeviceCapabilities功能。
当参数nIndex为SHADEBLENDCAPS时:
· | 对于打印机,GetDeviceCaps返回打印机报告的任何内容。 |
· | 对于显示设备,可以使用所有混合操作;除了SB_NONE之外,唯一的返回值是SB_CONST_ALPHA和SB_PIXEL_ALPHA,它们指示这些操作是否加速。 |
· | 在多监视器系统上,如果hDC是桌面,则GetDeviceCaps返回主监视器的功能。 |
GetDeviceCaps提供以下六个索引代替打印机转义。
指数 |
更换打印机逃生 |
PHYSICALWIDTH |
GETPHYSPAGESIZE |
PHYSICALHEIGHT |
GETPHYSPAGESIZE |
PHYSICALOFFSETX |
GETPRINTINGOFFSET |
PHYSICALOFFSETY |
GETPHYSICALOFFSET |
SCALINGFACTORX |
GETSCALINGFACTOR |
SCALINGFACTORY |
GETSCALINGFACTOR |
引用文件 #INCLUDE Once
WinGdi.inc(包括Windows.inc)