CDC::GetDeviceCaps

int GetDeviceCaps(int nIndex) const;

返回值:如果成功,则返回所需要的能力值。

参数:
nIndex指定返回信息类型,可为下列值之一:
·DRIVERVERSION版本号,例如:0x100表示1.0版
·TECHNOLOGY设备技术,可为下列值之一:
含义
DT_PLOTTER矢量绘图机
DT_RASDISPLAY光栅显示
DT_RASPRINTER光栅打印机
DT_RASCAMERA光栅照相机
DT_CHARSTREAM字符流
DT_METAFILE元文件
DT_DISPFILE显示文件
·HORZSIZE物理显示宽度(以毫米为单位)。
·VERTSIZE物理显示高度(以毫米为单位)。
·HORZRES显示宽度(用像素表示)。
·VERTRES显示高度(用光栅线表示)。
·LOGPIXELSX沿显示宽度方向,每一逻辑单位的像素数。
·LOGPIXELSY沿显示高度方向,每一逻辑单位的像素数。
·BITPIXEL每一像素的颜色字节数。
·PLANES颜色位面数。
·NUMBRUSHES指定设备的画刷数目。
·NUMPENS指定设备的画笔数目。
·NUMFONTS指定设备的字体数目。
·NUMCOLORS设备颜色表的入口数目。
·ASPECTX用于描线的设备像素的相对宽度。
·ASPECTY用于描线的设备像素的相对高度。
·ASPECTXY用于描线的设备像素的对角线宽度。
·PDEVICESIZEPDEVICE内部数据结构的尺寸。
·CLIPCAPS设备的剪切能力。可以为以下值之一:
含义
CP_NONE输出不被剪切
CP_RECTANGLE输出被剪切到矩形
CP_REGION输出被剪切到区域
·SIZEPALETTE系统调色板的入口数。只有设置驱动程序在RASTERCAPS索引中设置了RC_PALETTE,该参数才有效。
·NUMRESERVER系统调色板的保留的入口数。只有设置驱动程序在RASTERCAPS索引中设置了RC_PALETTE,该参数才有效。
·COLORRES设备实际的颜色分辨率,用位/像素表示。只有设置驱动程序在RASTERCAPS索引中设置了RC_PALETTE,该参数才有效。
·RASTERCAPS表示设备光栅能力的值。可以为以下值的组合:
含义
RC_BANDING需要绑定支持
RC_BIGFONT支持大于64K的字体
RC_BITBLT具有传输位图的能力
RC_BITMAP64支持大于64K的位图
RC_DEVBITS支持设备位图
RC_DI_BITMAP具有支持SetDIBits和GetDIBits Windows 函数的能力
RC_DIBTODEV具有支持SetDIBitsToDevice Windows 函数的能力
RC_FLOODFILL具有全面填充能力
RC_GD120_OUTPUT支持Windows 2.0RC_GD120_STATE设备上下文中包括状态块
RC_NONE不支持光栅操作
RC_OP_DX_OUTPUT支持设备白底和DX数组
RC_PALETTE指定基于调色板的设备
RC_SAVEBITMAP支持在本地保存位图的能力
RC_SCALING具有缩放能力
RC_STRETCHBLT能执行StretchBlt成员函数
RC_STRETCHDIB能执行Windows StretchDIBits函数
·CURVECAS设备的曲线能力。可为以下值的组合:
含义
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_INTERORS支持内部功能
·TEXTCAPS设备绘制文本的能力。可为以下值的组合:
含义
TC_OP_CHARACTER支持字符精确输出,设备可将设备字体置于任何像素位置。这要求设备带有设备字体
TC_OP_STROKE支持笔画精确输出,设备可覆盖设备字体的重复动作
TC_CP_STROKE支持笔画剪切输出,设备可在像素边界剪切设备字体
TC_CR_90支持90度的字符旋转,设备一次只能旋转字符90度
TC_CR_ANY支持任意角度的字符旋转
TC_SF_X_YINDEP支持x,y方向上的独立度量,设备可以分别从x,y方向上度量设备字体
TC_SA_DOUBLE支持度量倍增字符,设备可将设备字体放大一倍
TC_SA_INTEGER支持整数倍度量。设备可将设备字体放大至任意整数倍
TC_SA_CONTIN支持任意倍度量。设备可将设备字体放大至任意倍。但仍保持X和Y的比率
TC_EA_DOUBLE支持字符重量加倍,设备字体可设置为粗体。如果此位没有设置打印驱动程序。GDI将通过两次打印的方法创建粗体的设备字体
TC_IA_ABLE支持斜体字符,设备字体可设置为斜体。如果此位没有设置,GDI认为不能得到斜体
TC_UA_ABLE支持下划线,设备字体可设置为下划线。如果此位没有设置,GDI为设备字体创建下划线
TC_SO_ABLE支持空心字符,设备字体可设置为空心。如果此位没有设置,GDI为设备字体创建空心
TC_RA_ABLE支持光栅字体,GDI应为设备列举可用的光栅或TrueType字体,以便对EnumFonts或EnumFontFamilies函数的调用作出反应。如果此位没有设置,当这些函数调用时,光栅或字体不会加以列举
TC_VA_ABLE支持矢量字体,GDI应为设备列举可用的矢量或TrueType字体,以便对EnumFonts或EnumFontFamilies函数的调用作出反应。这对矢量设备很重要(如绘图机),显示程序(它们必须使用光栅字体)和光栅打印驱动程序列举矢量字体,因为GDI在将矢量字体送到驱动程序之前要将其进行光栅处理
TC_RESERVED反转,必须设置为0

说明:检取有关显示设备的特殊设备宽列信息。

请参阅:::GetDeviceCaps