发信人: winsy(鹰派)
整理人: winsy(2003-03-12 08:56:11), 站内信件
|
ExtractIcon
VB声明
Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
说明
判断一个可执行文件或DLL中是否有图标存在,并将其提取出来
返回值
Long,如成功,返回指向图标的句柄;如文件中不存在图标,则返回零。如果nIconIndex设为-1,就返回文件中的图标总数
参数表
参数 类型及说明
hInst Long,当前应用程序的实例句柄。也可用GetWindowWord函数取得拥有一个窗体或控件的实例的句柄
lpszExeFileName String,在其中提取图标的那个程序的全名
nIconIndex Long,欲获取的图标的索引。如果为-1,表示取得文件中的图标总数
GetBitmapBits
VB声明
Declare Function GetBitmapBits Lib "gdi32" Alias "GetBitmapBits" (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As Long
说明
将来自位图的二进制位复制到一个缓冲区
返回值
Long,如执行成功,返回位图中的字节数量;零表示失败。会设置GetLastError
参数表
参数 类型及说明
hBitmap Long,位图的句柄
dwCount Long,欲复制的字节数。如设为零,表示取得位图中的字节数
lpBits Any,指向容纳位图位的一个缓冲区的指针。注意事先将缓冲区至少初始化成dwCount个字节
注解
虽然这个函数能正常工作,但强烈建议使用与设备无关的位图(GetDIBits)
GetBitmapDimensionEx
VB声明
Declare Function GetBitmapDimensionEx Lib "gdi32" Alias "GetBitmapDimensionEx" (ByVal hBitmap As Long, lpDimension As SIZE) As Long
说明
取得一幅位图的宽度和高度。它们是由SetBitmapDimensionEx函数设置的。Windows不会使用位图的大小
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hBitmap Long,位图句柄
lpDimension SIZE,这个结构用于容纳由SetBitmapDimensionEx函数设置的位图的大小。这个大小以1mm的十分之一为单位
注解
参考SetBitmapDimensionEx函数
GetDIBColorTable
VB声明
Declare Function GetDIBColorTable Lib "gdi32" Alias "GetDIBColorTable" (ByVal hDC As Long, ByVal un1 As Long, ByVal un2 As Long, pRGBQuad As RGBQUAD) As Long
说明
从选入设备场景的DIBSection中取得颜色表信息
返回值
Long,取回的颜色条目数量,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hDC Long,已选入了一个DIBSection对象的设备场景
un1 Long,颜色表中欲取回的第一个条目的索引
un2 Long,欲取回的条目数量
pRGBQuad RGBQUAD,这个结构数组用于装载颜色表信息的第一个条目
注解
如DIBSection为每个像素使用了8个以上的二进制位,则不会再用颜色表
GetDIBits
VB声明
Declare Function GetDIBits Lib "gdi32" Alias "GetDIBits" (ByVal aHDC As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, lpBits As Any, lpBI As BITMAPINFO, ByVal wUsage As Long) As Long
说明
将来自一幅位图的二进制位复制到一幅与设备无关的位图里
返回值
Long,非零表示成功,零表示失败。在Windows 95中,返回值是返回的扫描线数量
参数表
参数 类型及说明
aHDC Long,定义了与设备有关位图hBitmap的配置信息的一个设备场景的句柄
hBitmap Long,源位图的句柄。绝对不能将这幅位图选入设备场景
nStartScan Long,欲复制到DIB中的第一条扫描线的编号
nNumScans Long,欲复制的扫描线数量
lpBits Any,指向一个缓冲区的指针。这个缓冲区将用于装载采用DIB格式的信息,但不取回数据(用ByVal传递零值)
lpBI BITMAPINFO,对lpBits DIB的格式及颜色进行说明的一个结构。在BITMAPINFOHEADER结构中,从biSize到biCompression之间的所有字段都必须初始化
wUsage Long,下述常数之一:
DIB_PAL_COLORS 在颜色表中装载一个16位所以数组,它们与当前选定的调色板有关
DIB_RGB_COLORS 在颜色表中装载RGB颜色
注解
起始扫描线与起点有关。除非将BITMAPINFOHEADER结构的biHeight字段设为负值,否则起点就位于左下角
GetIconInfo
VB声明
Declare Function GetIconInfo Lib "user32" Alias "GetIconInfo" (ByVal hIcon As Long, piconinfo As ICONINFO) As Long
说明
取得与图标有关的信息
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hIcon Long,图标句柄
piconinfo ICONINFO,这个结构装载的信息与包含了XOR及AND位图的图标有关
注解
函数返回时,由ICONINFO结构载入的位图必须由应用程序删去
GetStretchBltMode
VB声明
Declare Function GetStretchBltMode Lib "gdi32" Alias "GetStretchBltMode" (ByVal hdc As Long) As Long
说明
判断StretchBlt 和 StretchDIBits函数采用的伸缩模式。伸缩模式决定了Windows如何控制在伸缩过程中剔除的扫描线
返回值
Long,取得当前的伸缩模式。零表示出错
参数表
参数 类型及说明
hdc Long,设备场景的句柄
注解
参考SetStretchBltMode函数
LoadBitmap, LoadBitmapBynum
VB声明
Declare Function LoadBitmap& Lib "user32" Alias "LoadBitmapA" (ByVal hInstance As Long, ByVal lpBitmapName As String)
Declare Function LoadBitmapBynum& Lib "user32" Alias "LoadBitmapA" (ByVal hInstance As Long, ByVal lpBitmapName As Long)
说明
从指定的模块或应用程序实例中载入一幅位图。LoadBitmapBynum是LoadBitmap函数的类型安全声明
返回值
Long,已载入的位图的句柄,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hInstance Long,一个DLL的模块句柄;或者一个实例句柄,它指定了包含位图的可执行文件
lpBitmapName String,作为一个字串,指定欲载入的位图资源。作为一个长整数,指定欲载入的资源ID。或者一个常数,代表某幅固有系统位图。如装载一幅固有系统位图,hInstance参数应设为0。常数在api32.txt文件中用前缀 OBM_ 标志。OBM_REDUCE 引用的是标题栏右侧显示的下箭头位图,用于最小化一个窗口。参考api32.txt,其中有系统固有位图的完整列表
注解
一旦系统位图不再需要,必须用DeleteObject函数删除由这个函数取得的位图
LoadCursor, LoadCursorBynum
VB声明
Declare Function LoadCursor& Lib "user32" Alias "LoadCursorA" (ByVal hInstance As Long, ByVal lpCursorName As String)
Declare Function LoadCursorBynum& Lib "user32" Alias "LoadCursorA" (ByVal hInstance As Long, ByVal lpCursorName As Long)
说明
从指定的模块或应用程序实例中载入一个鼠标指针。LoadCursorBynum是LoadCursor函数的类型安全声明
返回值
Long,执行成功则返回已载入的指针的句柄;零表示失败。在Windows 95 和Win16环境中,这个函数只能载入标准尺寸的图标
参数表
参数 类型及说明
hInstance Long,一个DLL的模块句柄;或者一个实例句柄,指定包含了鼠标指针的可执行程序
lpCursorName String,作为一个字串,指定欲载入的指针资源。作为一个长整数值,指定欲载入的资源ID;或者设置一个常数,代表某幅固有系统指针。如装载的是一个固有系统指针,注意hInstance参数应设为零。在api32.txt文件中以前缀IDC_ 作为标志
注解
不要清除固有系统指针或从属于其他应用程序的指针。注意lpCursorName引用的是一个指针资源。因为假如名字引用的是一个有效的资源。即使它并非指针资源,该函数也会返回一个非零的句柄
LoadCursorFromFile
VB声明
Declare Function LoadCursorFromFile Lib "user32" Alias "LoadCursorFromFileA" (ByVal lpFileName As String) As Long
说明
在一个指针文件或一个动画指针文件(扩展名分别是.cur和.ani)的基础上创建一个指针
返回值
Long,执行成功则返回指向指针的一个句柄,零表示失败。如果失败,会将GetLastError设置为常数ERROR_FILE_NOT_FOUND
参数表
参数 类型及说明
lpFileName String,包含指针的那个文件的名字
注解
如果将lpFileName定义成Long型数值(ByVal As Long),就可以(理论上)传递带OCR_ 前缀的常数,以便获取一个固有系统指针。这一做法在Windows NT 3.5下不适用
LoadIcon, LoadIconBynum
VB声明
Declare Function LoadIcon& Lib "user32" Alias "LoadIconA" (ByVal hInstance As Long, ByVal lpIconName As String)
Declare Function LoadIconBynum& Lib "user32" Alias "LoadIconA" (ByVal hInstance As Long, ByVal lpIconName As Long)
说明
从指定的模块或应用程序实例中载入一个图标。其中,LoadIconBynum是LoadIcon函数的类型安全声明
返回值
Long,执行成功则返回已载入的图标的句柄;零表示失败。会设置GetLastError
参数表
参数 类型及说明
hInstance Long,一个DLL的模块句柄;或者一个实例句柄,指定包含了图标的可执行程序
lpIconName String,作为一个字串,指定欲载入的图标资源。作为一个长整数值,指定欲载入的资源ID;或者设置一个常数,代表某幅固有系统图标。如装载的是一个固有系统图标,注意hInstance参数应设为零。在api32.txt文件中以前缀IDI_ 作为标志
注解
在Windows 95和Win16环境中,这个函数只能载入标准尺寸的图标。用GetSystemMetrics可以获得SM_CXICON 和 SM_CYICON标准图标设置。用LoadImage则可载入非标准尺寸的图标
文件中可能包含了同一个图标资源的多种版本。这个函数会自动挑选与当前显示模式最相配的一种
LoadImage, LoadImageBynum
VB声明
Declare Function LoadImage& Lib "user32" Alias "LoadImageA" (ByVal hInst As Long, ByVal lpsz As String, ByVal un1 As Long, ByVal n1 As Long, ByVal n2 As Long, ByVal un2 As Long)
Declare Function LoadImageBynum& Lib "user32" Alias "LoadImageA" (ByVal hInst As Long, ByVal lpsz As Long, ByVal un1 As Long, ByVal n1 As Long, ByVal n2 As Long, ByVal un2 As Long)
说明
载入一个位图、图标或指针
返回值
Long,执行成功则返回对象的一个句柄;零表示失败
参数表
参数 类型及说明
hInst Long,要从其中载入图象的DLL或应用程序模块或实例句柄。零表示装载一幅固有图象
lpsz String,欲载入图象的名字。如指定了hInst,就用这个参数指定资源或资源的标志符(标志符是一个长整数)。如hInst为空,而且已指定了LR_LOADFROMFILE,那么这个参数代表文件名(位图、图标或指针文件)。如果是个Long型值,这个参数就代表固有位图、图标或指针的编号
un1 Long,下述常数之一,指定了欲载入的图象类型:IMAGE_BITMAP, IMAGE_CURSOR, IMAGE_ICON
n1,n2 Long,要求的图象宽度和高度。图象会根据情况自动伸缩。如设为零,表示用图象的默认大小
un2 Long,下述常数的任意组合,它们都在api32.txt文件中得到了定义:
LR_DEFAULTCOLOR 以常规方式载入图象
LR_LOADREALSIZE 不对图象进行缩放处理。忽略n1和n2的设置
LR_CREATEDIBSECTION 如果指定了IMAGE_BITMAP,就返回DIBSection的句柄,而不是位图的句柄
LR_DEFAULTSIZE 如果n1和n2为零,就使用由系统定义的图象默认大小,而不是图象本身定义的大小
LR_LOADFROMFILE 如hInst为零,lpsz就代表要载入适当类型的一个文件的名字,仅适用于Win95
LR_LOADMAP3DCOLORS 将图象中的深灰、灰、以及浅灰像素都替换成COLOR_3DSHADOW,COLOR_3DFACE以及COLOR_3DLIGHT的当前设置
LR_LOADTRANSPARENT 与图象中第一个像素相符的所有像素都由系统替换
LR_MONOCHROME 将图象转换成单色
LR_SHARED 将图象作为一个共享资源载入。在NT 4.0中装载固有资源时要用到这个设置
MaskBlt
VB声明
Declare Function MaskBlt Lib "gdi32" Alias "MaskBlt" (ByVal hdcDest As Long, ByVal nXDest As Long, ByVal nYDest As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hdcSrc As Long, ByVal nXSrc As Long, ByVal nYSrc As Long, ByVal hbmMask As Long, ByVal xMask As Long, ByVal yMask As Long, ByVal dwRop As Long) As Long
说明
执行复杂的图象传输,同时进行掩模(MASK)处理
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hdcDest Long,目标设备场景
nXDest,nYDest Long,目标图象左上角的x,y坐标
nWidth,nHeight Long,图象在目标设备场景中的宽度和高度
hdcSrc Long,源设备场景
nXSrc,nYSrc Long,源图象的左上角x,y坐标
hbmMask Long,作为掩模使用的一幅单色位图的句柄。如果dwRop代码包括一个源,那么这幅位图必须与源尺寸相同,否则必须与目标尺寸相符
xMask,yMask Long,单色掩模位图的x,y偏移。这样便允许我们创建一幅使用了多个掩模的大型位图
dwRop Long,一种特殊的光栅运算,在传输过程中使用
适用平台
Windows NT
注解
dwRop代码是一种非标准的光栅运算代码,由两个普通的光栅运算代码组成:一个前景代码以及一个背景代码
在掩模位图设为1的每个像素处,都在传输过程中应用前景转换处理。如对应的掩蔽位图像素为零,则应用背景转换。如果未指定掩模位图,那么这个函数就执行与BitBlt相同的操作
如果对源应用了旋转或剪切处理,则函数调用会失败
注意可用GetDeviceCaps判断这个函数是否得到了一个特定设备场景的支持
PatBlt
VB声明
Declare Function PatBlt Lib "gdi32" Alias "PatBlt" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal dwRop As Long) As Long
说明
在当前选定的刷子的基础上,用一个图案填充指定的设备场景
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hdc Long,欲描绘的一个设备场景的句柄
x,y Long,对目标DC中目标矩形左上角位置进行定义的一个点,用逻辑坐标表示
nWidth,nHeight Long,目标矩形的宽度和高度,用逻辑坐标表示
dwRop Long,传输过程中欲进行的光栅运算。对一个源进行引用的光栅运算也许不能在这个函数中使用
注解
可用GetDeviceCaps判断这个函数是否得到了一个特定设备场景的支持
PlgBlt
VB声明
Declare Function PlgBlt Lib "gdi32" Alias "PlgBlt" (ByVal hdcDest As Long, lpPoint As POINTAPI, ByVal hdcSrc As Long, ByVal nXSrc As Long, ByVal nYSrc As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hbmMask As Long, ByVal xMask As Long, ByVal yMask As Long) As Long
说明
复制一幅位图,同时将其转换成一个平行四边形。利用它可对位图进行旋转处理
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hdcDest Long,图象使用的目标设备场景
lpPoint POINTAPI,POINTAPI结构数组中使用的第一个条目。第一个点对应于一个平行四边形左上角位置;第二个点代表右下角位置;第三个点代表左下角位置;第四个点是在前三个点的基础上导出的
hdcSrc Long,图象的源设备场景
nXSrc,nYSrc Long,源图象左上角的x,y坐标,采用逻辑坐标系统表示
nWidth,nHeight Long,源图象大小,用逻辑坐标表示
hbmMask Long,一个可选的句柄,指向一个单色掩模。如设定了这个参数,那么只有与掩模值1对应的二进制位才会传输到目的地
xMask,yMask Long,掩模位图欲使用区域左上角的x,y坐标
适用平台
Windows NT
注解
如果对源图象应用了旋转或剪切处理,这个函数的执行就会失败。可用GetDeviceCaps判断这个函数是否得到了一个特定设备场景的支持
SetBitmapBits
VB声明
Declare Function SetBitmapBits Lib "gdi32" Alias "SetBitmapBits" (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As Long
说明
将来自缓冲区的二进制位复制到一幅位图
返回值
Long,执行成功则返回字节数量,零表示失败
参数表
参数 类型及说明
hBitmap Long,位图的句柄
dwCount Long,欲复制的字节数量
lpBits Any,指向一个缓冲区的指针。这个缓冲区包含了为位图正确格式化的位图位
注解
在Win32中,应使用与设备无关位图
|
|