精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VB和Basic>>〓〓.VB电子文档集锦.〓〓>>《老猫:VB声明API》>>VB API:绘图函数 第五页

主题:VB API:绘图函数 第五页
发信人: winsy(鹰派)
整理人: winsy(2003-03-11 14:02:52), 站内信件
GetROP2 

VB声明 
Declare Function GetROP2 Lib "gdi32" Alias "GetROP2" (ByVal hdc As Long) As Long 
说明 
针对指定的设备场景,取得当前的绘图模式。这样可定义绘图操作如何与正在显示的图象合并起来 
返回值 
Long,请参考绘图模式常数表 
参数表 
参数 类型及说明 
hdc Long,设备场景的句柄 
注解 
这个函数只对光栅设备有效
 

绘图模式常数表 
常数 DrawMode 像素值 
R2_BLACK vbBlackness 黑色 
R2_WHITE vbWhitness 白色 
R2_NOP vbNop 不变 
R2_NOT vbInvert 当前显示颜色的反色 
R2_COPYPEN vbCopyPen 画笔颜色 
R2_NOTCOPYPEN vbNotCopyPen R2_COPYPEN的反色 
R2_MERGEPENNOT vbMergePenNot 显示颜色的反色与画笔颜色进行OR运算 
R2_MASKPENNOT vbMaskPenNot 显示颜色的反色与画笔颜色进行AND运算 
R2_MERGENOTPEN vbMergeNotPen 画笔颜色的反色与显示颜色进行OR运算 
R2_MASKNOTPEN vbMaskNotPen 画笔颜色的反色与显示颜色进行AND运算 
R2_MERGEPEN vbMergePen 画笔颜色与显示颜色进行OR运算 
R2_NOTMERGEPEN vbNotMergePen R2_MERGEPEN的反色 
R2_MASKPEN vbMaskPen 显示颜色与画笔颜色进行AND运算 
R2_NOTMASKPEN vbNotMaskPen R2_MASKPEN的反色 
R2_XORPEN vbXorPen 显示颜色与画笔颜色进行异或运算 
R2_NOTXORPEN vbNotXorPen R2_XORPEN的反色 


GetStockObject 

VB声明 
Declare Function GetStockObject Lib "gdi32" Alias "GetStockObject" (ByVal nIndex As Long) As Long 
说明 
取得一个固有对象(Stock)。这是可由任何应用程序使用的windows标准对象之一 
返回值 
Long,指向指定对象的一个句柄。零表示出错 
参数表 
参数 类型及说明 
nIndex Long,下述表格中定义的任何常数之一 
BLACK_BRUSH 黑色刷子 DKGRAY_BRUSH 黑灰色刷子 
GRAY_BRUSH 灰色刷子 HOLLOW_BRUSH 凹刷子 
LTGRAY_BRUSH 浅灰色刷子 NULL_BRUSH 空刷子 
WHITE_BRUSH 白色刷子 BLACK_PEN 黑色画笔 
NULL_PEN 空画笔 WHITE_PEN 白色画笔 
ANSI_FIXED_FONT 采用windows(ANSI)字符集的等宽字体 ANSI_VAR_FONT 采用windows(ANSI)字符集的不等宽字体 
DEVICE_DEFAULT_FONT 设备使用的默认字体(NT) DEFAULT_GUI_FONT 用户界面的默认字体,包括菜单和对话框字体(Windows 95) 
OEM_FIXED_FONT OEM字符集的固有字体 SYSTEM_FONT 屏幕系统字体。这是用于菜单、对话框等等的默认不等宽字体 
SYSTEM_FIXED_FONT 屏幕系统字体。这是用于菜单、对话框等等的默认等宽字体(在windows 3.0之前使用) DEFAULT_PALETTE 默认调色板 
注解 
固有刷子的起点可能不会改变。不应用DeleteObject函数删除这些对象。不要对那些不具备CS_HREDRAW 和 CS_VREDRAW类样式的窗口使用DK_GRAY_BRUSH,GRAY_BRUSH 和 LTGRAY_BRUSH刷子
 

GetSysColorBrush 

VB声明 
Declare Function GetSysColorBrush Lib "user32" Alias "GetSysColorBrush" (ByVal nIndex As Long) As Long 
说明 
为任何一种标准系统颜色取得一个刷子 
返回值 
Long,针对一种系统颜色的一个固有刷子的句柄。零表示出错 
参数表 
参数 类型及说明 
nIndex Long,系统颜色索引,也即带有COLOR_前缀的某个常数。参考GetSysColor 
注解 
不要用DeleteObject函数删除这些刷子。它们是由系统拥有的固有对象。不要将这些刷子指定成一种窗口类的默认刷子
 

GetWinMetaFileBits 

VB声明 
Declare Function GetWinMetaFileBits Lib "gdi32" Alias "GetWinMetaFileBits" (ByVal hemf As Long, ByVal cbBuffer As Long, lpbBuffer As Byte, ByVal fnMapMode As Long, ByVal hdcRef As Long) As Long 
说明 
通过在一个缓冲区中填充用于标准图元文件的数据,将一个增强型图元文件转换成标准windows图元文件 
返回值 
Long,以字节数表示的图元文件长度。如lpbBuffer为NULL(在这种情况下用一个别名指定ByVal As Long,从而传递一个NULL值)——返回字节数组的长度。零表示出错(原文:The size in bytes of the metafile. If lpbBuffer is null (use an alias with the parameter specified ByVal as Long to pass null to this function)-returns the required size of the byte array. Zero on error.) 
参数表 
参数 类型及说明 
hemf Long,欲转换的增强型图元文件的句柄。函数调用完毕后,该句柄仍然保持有效 
cbBuffer Long,目标缓冲区的长度 
lpbBuffer Byte,作为目标缓冲区使用的一个字节数组的第一个字节。这个数组的长度至少为cbBuffer个字节 
fnMapMode Long,转换时采用的映射(对应)模型。通常用MM_ANISOTROPIC创建一个可扩展的图元文件 
hdcRef Long,一个参考设备场景,用于决定新图元文件采用的参考分辨率 
注解 
有些增强型图元文件命令没有对应的标准图元文件命令。这些命令会转换成最接近的命令,或者丢弃。结果生成的图元文件已指定了窗口的显示范围。窗口的起点是0,0
 

InvertRect 

VB声明 
Declare Function InvertRect Lib "user32" Alias "InvertRect" (ByVal hdc As Long, lpRect As RECT) As Long 
说明 
通过反转每个像素的值,从而反转一个设备场景中指定的矩形 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
hdc Long,设备场景的句柄 
lpRect RECT,要反转的矩形,用逻辑坐标指定 
注解 
反转是一种光栅操作
 

LineDDA 

VB声明 
Declare Function LineDDA Lib "gdi32" Alias "LineDDA" (ByVal n1 As Long, ByVal n2 As Long, ByVal n3 As Long, ByVal n4 As Long, ByVal lpLineDDAProc As Long, ByVal lParam As Long) As Long 
说明 
枚举指定线段中的所有点 
返回值 
Long,非零表示成功,零表示失败 
参数表 
参数 类型及说明 
n1,n2 Long,线段的x,y起点坐标 
n3,n4 Long,线段的x,y终点坐标 
lpLineDDAProc Long,vb5中的一个函数地址 
lParam Long,枚举过程中传递给回调函数的用户自定义值 
注解 
通常用这个函数执行自定义的线段作图——例如,可将一条线中的其他每个像素都设成不同的颜色。在MM_TEXT模式下,每个点都对应于设备中的一个像素——在这种模式下,也可用这个函数进行线段中的击中测试。线段中的最后一个点不会枚举出来
 

LineTo 

VB声明 
Declare Function LineTo Lib "gdi32" Alias "LineTo" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long 
说明 
用当前画笔画一条线,从当前位置连到一个指定的点。这个函数调用完毕,当前位置变成x,y点 
返回值 
Long,非零表示成功,零表示失败 
参数表 
参数 类型及说明 
hdc Long,设备场景的句柄 
x,y Long,线段终点位置,采用逻辑坐标表示。这个点不会实际画出来;它不属于线段的一部分 
注解 
如重复调用这个函数和一个几何画笔,从而创建一系列线段,那么除非在一个路径的场景中调用,否则不会认为这些线段已结合到一起
 

MoveToEx 

VB声明 
Declare Function MoveToEx Lib "gdi32" Alias "MoveToEx" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, lpPoint As POINTAPI) As Long 
说明 
为指定的设备场景指定一个新的当前画笔位置。前一个位置保存在lpPoint中 
返回值 
Long,非零表示成功,零表示失败 
参数表 
参数 类型及说明 
hdc Long,指向一个设备场景的句柄 
x,y Long,采用逻辑坐标表示的新画笔位置 
lpPoint POINTAPI,用于保存前一个画笔位置。可以为NULL(将参数改为ByVal As Long,以传递一个空参数) 
注解 
在一个路径分支中描绘的时候,这个函数会创建一个新的子路径
 

PaintDesktop 

VB声明 
Declare Function PaintDesktop Lib "user32" Alias "PaintDesktop" (ByVal hdc As Long) As Long 
说明 
在指定的设备场景中描绘桌面墙纸图案 
返回值 
Long,TRUE(非零)表示成功,否则返回零 
参数表 
参数 类型及说明 
hdc Long,要在其中填充的设备场景 


PathToRegion 

VB声明 
Declare Function PathToRegion Lib "gdi32" Alias "PathToRegion" (ByVal hdc As Long) As Long 
说明 
将当前选定的路径转换到一个区域里 
返回值 
Long,新区域的句柄。零表示错误。会将GetLastError设为下述值之一:ERROR_CAN_NOT_COMPLETE,ERROR_INVALID_PARAMETER,ERROR_NOT_ENOUGH_MEMORY 
参数表 
参数 类型及说明 
hdc Long,包含了欲转换的路径的设备场景 
注解 
函数执行完毕后,路径会自动清除
 

Pie 

VB声明 
Declare Function Pie Lib "gdi32" Alias "Pie" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long, ByVal X4 As Long, ByVal Y4 As Long) As Long 
说明 
象注解里那样画一个饼图,X1,Y1,X2,Y2指定椭圆的一个约束矩形。从矩形的中心分别向X3,Y3和X4,Y4画一条线,这两条线与椭圆的交点定义了饼图占据椭圆的面积 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
hdc Long,指定一个显示场景的句柄 
X1,Y1 Long,指定椭圆约束矩形的左上角位置 
X2,Y2 Long,指定椭圆约束矩形的右下角位置 
X3,Y3 Long,指定饼图的一个斜边 
X4,Y4 Long,指定饼图的另一个斜边 
注解 

 在win95和win16中,约束矩形的宽度和高度必须在3-32766之间
参考Arc函数 


PlayEnhMetaFile 

VB声明 
Declare Function PlayEnhMetaFile Lib "gdi32" Alias "PlayEnhMetaFile" (ByVal hdc As Long, ByVal hemf As Long, lpRect As RECT) As Long 
说明 
在指定的设备场景中画一个增强型图元文件。与标准图元文件不同,完成回放后,增强型图元文件会恢复设备场景以前的状态 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
hdc Long,目标设备场景 
hemf Long,欲描绘的增强型图元文件的句柄 
lpRect RECT,一个约束矩形,定义了在哪里描绘图元文件 


PlayEnhMetaFileRecord 

VB声明 
Declare Function PlayEnhMetaFileRecord Lib "gdi32" Alias "PlayEnhMetaFileRecord" (ByVal hdc As Long, lpHandletable As HANDLETABLE, lpEnhMetaRecord As ENHMETARECORD, ByVal nHandles As Long) As Long 
说明 
回放单独一条增强型图元文件记录。可与EnumEnhMetaFile函数联合使用,只回放选定的图元文件记录。这个函数的参数设置与那些由EnumMetaFile回调函数返回的值是相似的 
返回值 
Long,非零表示成功,零表示失败 
参数表 
参数 类型及说明 
hdc Long,欲在其中绘图的设备场景 
lpHandletable HANDLETABLE,使用的句柄的一个数组(An array of handles used.) 
lpEnhMetaRecord ENHMETARECORD,一个特定的结构(或指向结构的指针),包含了增强型图元文件记录 
nHandles Long,句柄表中的句柄数量 


PlayMetaFile 

VB声明 
Declare Function PlayMetaFile Lib "gdi32" Alias "PlayMetaFile" (ByVal hdc As Long, ByVal hMF As Long) As Long 
说明 
在指定的设备场景中回放一个图元文件。图元文件中记录的GDI操作会针对设备场景而执行 
返回值 
Long, 
参数表 
参数 类型及说明 
hdc Long,要在其中回放图元文件的一个设备场景的句柄 
hMF Long,欲回放的一个图元文件的句柄 
注解 
在vb里,图元文件有能力改变一个设备场景的对象及映射模式。注意在调用这个函数之前,必须保存一个vb窗体或图片控件设备场景的状态
 

PlayMetaFileRecord 

VB声明 
Declare Function PlayMetaFileRecord Lib "gdi32" Alias "PlayMetaFileRecord" (ByVal hdc As Long, lpHandletable As HANDLETABLE, lpMetaRecord As METARECORD, ByVal nHandles As Long) As Long 
说明 
回放来自图元文件的单条记录(每条记录都包含了单个GDI绘图命令)。可与EnumMetaFile函数联合使用,只回放那些选定的图元文件记录。这个函数的参数与那些由EnumMetaFile回调函数返回的值相似 
返回值 
Long,非零表示成功,零表示失败 
参数表 
参数 类型及说明 
hdc Long,欲在其中回放图元文件记录GDI命令的一个设备场景的句柄 
lpHandletable HANDLETABLE,一个整数数组的第一个条目,该数组用于容纳图元文件使用的GDI对象的句柄 
lpMetaRecord METARECORD,指定单条图元文件记录 
nHandles Long,图元文件句柄表格中的句柄数目 


PolyBezier, PolyBezierTo 

VB声明 
Declare Function PolyBezier& Lib "gdi32" (ByVal hdc As Long, lppt As POINTAPI, ByVal cPoints As Long)
Declare Function PolyBezierTo& Lib "gdi32" (ByVal hdc As Long, lppt As POINTAPI, ByVal cCount As Long) 
说明 
描绘一条或多条贝塞尔(Bezier)曲线。PolyBezierTo用于将当前画笔位置设为前一条曲线的终点 
返回值 
Long,非零表示成功,零表示失败 
参数表 
参数 类型及说明 
hdc Long,要在其中绘图的设备场景 
lppt POINTAPI,指定一个POINTAPI结构数组。其中的第一个结构指定了起点。剩下的点三个一组——包括两个控件点和一个终点
原文:An array of POINTAPI structures. The first structure specifies the starting point. The remaining points are in groups of three, consisting of two control points and an end point. 
cPoints Long,lppt数组的总点数 

[关闭][返回]