MFC Windows 程序设计->GetDeviceCaps
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 用于描线的设备像素的对角线宽度。
· PDEVICESIZE PDEVICE内部数据结构的尺寸。
· 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