2007年5月17日星期四

关于VB调用动态链接库函数

从网上看到的文章(http://vbworld.sxnw.gov.cn/vbbooks/bookhtm/TeacApi3.htm),VB里使用API函数时,数组参数是通过第一个元素传递的,我想自己写的动态库也应该一样的。
文章节选:
.....
Declare Function SetSysColors Lib "user32" Alias "SetSysColors" (ByVal nChanges As Long, lpSysColor As Long, lpColorValues As Long) As Long
最后两个参数是Long型数组.为了传递数组,你只需传递它的第一个元素.下面是示例代码:
Const COLOR_ACTIVECAPTION = 2
Const COLOR_INACTIVECAPTION = 3
Const COLOR_CAPTIONTEXT = 9
Const COLOR_INACTIVECAPTIONTEXT = 19
Dim SysColor(3) As Long
Dim ColorValues(3) As Long
Dim Ret& SysColor(0) = COLOR_ACTIVECAPTION
SysColor(1) = COLOR_INACTIVECAPTION
SysColor(2) = COLOR_CAPTIONTEXT
SysColor(3) = COLOR_INACTIVECAPTIONTEXT
ColorValues(0) = RGB(58, 158, 58) '深绿
ColorValues(1) = RGB(93, 193, 93) '浅绿
ColorValues(2) = 0 '黑色
ColorValues(3) = RGB(126, 126, 126) '灰色
Ret& = SetSysColors(4&, SysColor(0), ColorValues(0))
该程序将改变所有活动和非活动窗口的标题栏背景和文本的颜色.

没有评论:

Google