字体函数 -- GetDeviceCaps

函数功能:该函数检索指定设备的设备指定信息。
  
函数原型:int GetDeviceCaps(HDC hdc, int nlndex);
  
参数:
  1、hdc:设备上下文环境的句柄。
  2、nIndex:指定返回项,该参数取下列一值。(C++)
  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:用于画线的设备像素的对角线宽度;PDEVLCESIZE:保留;
  CLIDCAPS:显示设备支持剪切性能的标志。如果设备可剪切为一个长方形,则为1,否则为0;
  SIZEPALETTE:系统调色板中的入口数目,只有在设备驱动器在RASTERCAPS索引中设置RC PALETFE位时该索引值才是有效的。
且该索引值只能用于16位Windows的驱动器;
  NUMRESERVED:系统调色板中保留的入口数目,只有在设备驱动器在RASTERLAP索引中设置RC PALETFE位时,该索引值才是有
效的且该索引值只有能于16位的Windows驱动器;
  COLORRES:实际位像的实际设备颜色,只有设备驱动器在RASTERLAP索引中设置RCPALETFE位时,该索引值才是有效的且该索
引值只能用于16位的Windows驱动器;
  PHYSICALWIDTH:对于打印设备,为以设备单位的物理页面宽度。例如一个在8.5*11纸上设置为600dpi的打印机的设备物理单
位宽度值为5100,注意物理页面总是大于可打印的页面面积,且从不小于;
  PHPSICALHEIGHT:为以设备单位的物理页面宽度。例如一个在8.5*11纸上设置为600dpi的打印机的设备物理单位高度值为6600;
  PHYSICALOFFSETX:对于打印设备,从物理页面左边到打印页面右边的距离,例如,一个在8.5*11纸上设置为600dpi的打印机,
不能在超出左边0.25处打印,且有一个150备单位的水平物理位移;
  PHYSICALOFFSETY;对于打印设备。从物理页面上面到打印页面上边的距离。例如一个在8.5*11打印纸上设置为的打印机,不能
在超出上边的地方打处,且有一个设备单位的物理位移;
  VREFRESH:Windows NT:对于显示设备。设备的当前垂直刷新率以每秒中的循环次数为单位0或1刷新率代表显示硬件的缺省刷新率,
此缺省刷新率通常通过设置显卡或主板的跳线来改变,或通过一个不使用Win32显示函数比如ChangeDisplay Setting的一个配置程序来设置;
  DESKTOPHORZRES:Windows NT:可视桌面的以像素为单位的宽度。如果设备支持一个可视桌面或双重显示则此值可能大于VERTRES;
  SCALINGFACTORX:打印机x轴的比例系数;SCALINGFACTORY:打印机y轴的比例系数。
  BLTALIGNMENT:在Windows NT中作为像素倍数的水平绘图调整,对于最好的绘图操作,窗口绘图应该是水平调整到此值的倍数。
0显示设备为加速的,且可用任何调整。
  SHADEBLENDCAPS:在Windows 98、Windows NT 5.0和以后版本中此值显示设备的阴影和混合特性。
  SB_CONST_ALPHA:处理BLENDFUNCTION结构中的Source constantAlpha元素,并通过AlphaBlend数中的blendFunction参数来指定;
  SB_GRAD_RECT:进行Gradientfill矩形填充的能力。SB_GRAD_TRI;进行Gradientfill三角形填充的能力;
  SB_NONE:设备不支持这些特性中的任何一个。SB_PIXEL_ALPHA:处理AlphaBlond中每一个像素Alphx;
  SB_PREMULT_ALPHA:在Alphablend中对alpha进行预乘;
  RASTERCAPS:设备所支持的光栅性能,可以是下列值的某种组合;
  RC_BANDING:需要联合支持。RC_BITBLT:支持传送位图。
  RC_BITMAP64:支持大于64K的位图。RC_DI_BITMAP:支持SetDIBits和GetDIBits函数。
  RC_DIBTODEV:支持SetDIBits To Device函数;RC_FLOODFILL:支持连续填充
  RC_GDI20_OUTPUT:支持16位Windows 2.0特征;RC_PALETTE:指定一个基于调色板的设备。
  RC_SCALING:支持缩放;RC_STRETCHBLT:支持StretchBlt函数。
  RC_STRETCHDIB:stretchDIBits函数。
  CURVECAPS:显示设备所支持的曲线性能,可以是下列值的某种组合。
  CC_NONE:不支持绘制曲线;CC_CHORD:支持绘制弦;CC_CIRCLES:支持绘制圆。
  CC_ELLIPSES:支持绘制椭圆;CC_INTERIORS:支持内部填充;CC_PIE:支持绘制扇形图。
  CC_ROUNDRECT:支持绘制圆角矩形;CC_STYLED:支持绘制带风格的边界。
  CC_WIDE:支持绘制宽的边界;CC_WIDESTYLED:支持绘制宽的、带风格的边界。
  LINECAPS设备所支持的画线性能,可以是下列值的某种组合:
  LC_NONE:不支持绘制线段;LC_INTERIORS:支持内部填充;LC_MARKER:支持绘制标记符。
  LC_POLYLINE:支持折线;LC_POLYMARKER:支持多种标记符;LC_STYLED:带风格的线段。
  LC_WIDE:支持画宽线;LC_WIDESTYLED:支持宽的带风格的线段。
  POLYGONALCAPS设有所支持的多边形性能。可以是下列值的某种组合。
  PC_NONE:不支持绘制多边形;PC_INTERIORS:支持内部填充;PC_POLYGON:支持绘制间隔式填充多边形。
  PC_RECTANGLE:支持绘制矩形;PC_SCANLINE:支持绘制扫描线;PC_STYLED:支持绘制带风格的边界。
  PC_WIDE:支持绘制宽边界;PC_WIDESTYLED:支持绘制宽的带风格的边界。
  PC_WINDPOLYGON:支持绘制折线式填充多边形。
  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:保留、必须为零。
  TC_SCROLLBLT:不支持用位快传递来滚动,注意这可能事与愿违。
  以上为C++部分参数,下面提供在C#中部分参数的具体值
  所有类型均声明为Int或者INT32即可
  DRIVERVERSION = 0
  TECHNOLOGY = 2
  HORZSIZE = 4
  VERTSIZE = 6
  HORZRES = 8
  VERTRES = 10
  BITSPIXEL = 12
  PLANES = 14
  NUMBRUSHES = 16
  NUMPENS = 18
  NUMMARKERS = 20
  NUMFONTS = 22
  NUMCOLORS = 24
  PDEVICESIZE = 26
  CURVECAPS = 28
  LINECAPS = 30
  POLYGONALCAPS = 32
  TEXTCAPS = 34
  CLIPCAPS = 36
  RASTERCAPS = 38
  ASPECTX = 40
  ASPECTY = 42
  ASPECTXY = 44
  SHADEBLENDCAPS = 45
  LOGPIXELSX = 88
  LOGPIXELSY = 90
  SIZEPALETTE = 104
  NUMRESERVED = 106
  COLORRES = 108
  PHYSICALWIDTH = 110
  PHYSICALHEIGHT = 111
  PHYSICALOFFSETX = 112
  PHYSICALOFFSETY = 113
  SCALINGFACTORX = 114
  SCALINGFACTORY = 115
  VREFRESH = 116
  DESKTOPVERTRES = 117
  DESKTOPHORZRES = 118
  BLTALIGNMENT = 119
  返回值:返回值指定所需项目的值。
  注释:GetDeviceCaps提供下列六个索引以代替打印机消失。
  PHYSICALWIDTH GETPHYSPAGESIZE; PHYSICALHEIGHT GETPHYSPAGESIZE
  PHYSICALOFFSETX GETPRINTINGOFFSET;
  PHYSICALOFFSETY GETPHYSICALOFFSET;
  SCALINGFACTORX GETSCALINGFACTOR;
  SCALINGFACTORY GETSCALINGFACTOR;
  Windows CE:Windows CE不支持nIndex参数取下列值:
  VREFRESH; DESKTOPHORZRES; DESKTOPVERTRES;BLTALIGNMENT
  Windows CE 1.0不支持nIndex参数取下列值:
  PHYSICALWIDTH; PHYSICALHEIGHT; PHYSICALOFFSETX; PHYSICALOFFSETY
  速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:wingdi.h;库文件:gdi32.lib。
  补充:
  GetDeviceCaps(HORZSIZE)
  HORZSIZE 以毫米为单位的显示宽度
  VERTSIZE 以毫米为单位的显示高度
  HORZRES 以像素为单位的显示宽度 0~65535
  VERTRES 以像素为单位的显示高度 0~65535
  LOGPIXELSX 像素/逻辑英寸(水平)
  LOGPIXELSY 像素/逻辑英寸(垂直)

时间: 2024-08-07 01:46:49

字体函数 -- GetDeviceCaps的相关文章

字体函数 -- EnumFonts

函数功能: 该函数列举一个指定设备可用的字体,对那些有指定字样名的字体,EnumFonts取得该字 体的信息,并将信息传给应用程序定义的回调函数.回调函数可以按期望处理字体信息.当 再没有字体可列举或回调函数返回零时,列举停止. 函数原型:int EnumFonts(HDC hdc, LPCTSTR lpFaceName, FONTNUMPROC lpFontfunc, LPARAM lParam): 参数: hdc:设备环境句柄. LpFaceName:指向以\0结束的字符串的指针,该字符串指

字体函数 -- EnumFontFamilies

函数功能: 该函数列举指定设备环境下的指定字体族里的字体. 函数原型:int EnumFontFamilies (HDC hdc, LPCTSTR lpszFamily, FONTENUMPROC lpEnumFontFamProc, LPARAM lParam):参数: hdc:设备环境句柄. lpszFamily:指向以\0结束的字符串的指针,该字符串指定期望的字体族的名字.如果 lpszFamily为NULL,则EnumFontFamilies随机地选择并列举每一个有效字体族的一种字体.

第三课 VB API 字体函数的应用

先来介绍三个个API函数 AddFontResource,SendMessage,RemoveFontResource. AddFontResource 这是一个添加字体资源到系统字体表中,原型如下: int AddFontResource( LPCTSTR lpszFilename // pointer to font-resource filename ); lpszfilename 指向字体资源的文件名返回值:如果函数调用成功,则返回值为增加的字体数:如果函数调用失败,返回值是0. Sen

linux API函数大全

还没有认真研读过,今晚在其他博客上找了比较久,今晚时间也不多了,等有空再细看 先复制先 获取当前执行路径:getcwd 1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接  WNetAddConnection2 创建同一个网络资源的连接  WNetAddConnection3 创建同一个网络资源的连接  WNetCancelConnection 结束一个网络连接  WNetCancelConnection2 结束一个网络连接  WNetCloseEnum

windows程序设计学习笔记-文本和字体

BOOL TextOut( In HDC hdc, In int nXStart, In int nYStart, In LPCTSTR lpString, In int cchString ); 在指定位置写字符串.使用当前选择的字体,背景颜色,字体颜色. nXStart:系统用来对齐字符串的参考点X坐标.逻辑坐标. nYStart 对参考点的解释取决于当前的文本对齐模式.可以用GetTextAlign取得此模式. 可以用SetTextAlign改变此模式. TA_BASELINE:参考点在基

C++ Builder 全部API函数列表

1 其他类似API网站: 新版WIN32API大全:http://www.3http.com/book/win32api/000.htm 1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseE

C#常用 API函数大全

常用Windows API1. API之网络函数WNetAddConnection 创建同一个网络资源的永久性连接WNetAddConnection2 创建同一个网络资源的连接WNetAddConnection3 创建同一个网络资源的连接WNetCancelConnection 结束一个网络连接WNetCancelConnection2 结束一个网络连接WNetCloseEnum 结束一次枚举操作WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接WNetDis

API函数

1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接 WNetDisconne

WINDOWS API 函数(超长,值得学习)

一.隐藏和显示光标 函数: int ShowCursor ( BOOL bShow );  参数 bshow,为布尔型,bShow的值为False时隐藏光标,为True时显示光标:该函数的返回值为整型,为鼠标隐藏或显示的指数器:返回值大于等于0时显示光标,否则隐藏鼠标:如果安装了鼠标初值为0. 二.交换鼠标左右键和恢复 函数:BOOL SwapMouseButton ( BOOL fSwap );  参数 fSwap,为布尔型,TRUE表示交换鼠标左右键,FALSE表示恢复系统默认左右手习惯:返