发信人: 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数组的总点数
|
|