Archlen 说的不对...
VB6的工程中可以添加2种模块,一是标准模块,二是类模块
标准模块 - 也是所谓公共模块,在其中用public声明的所有变量、对象、函数和过程,可以在整个工程中,被其它任何对象直接调用,比如,你在其中声明了上述朋友声明的那个函数:
Public Function myadd(a As Long, b As Long) As Long
myadd = a + b
End Function
它在包括窗体,类中都可以直接使用...
类模块 - 它是对象(标准模块不是),对象就有自己的的属性方法事件等等,对象要实例化以后才能调用其属性方法和事件,并不是Archlen说的在任何地方可以直接使用类中的myadd方法...
通俗的比喻一下类(不是很严格),人类就好比一个类,人有性别,体重,年龄,技能等等,这些就是所谓属性和方法,要具体到某一个人(所谓实例化),这些属性方法才有具体内容....比如我们添加一个类,名称为human, 声明如下:
public name as string
public sex as string
public age as long
Public Function myadd(byval a As Long, byval b As Long) As Long
myadd = a + b
End Function
要某个地方要用这个类的时候,首先要声明并实例化:
dim man as human '声明类
set man=new human '实例化..这样就可以使用这个类了
man.name="张三" '这个人叫张三
man.sex="男" '男性
man.age=23 '23岁
msgbox man.myadd(100,200) '调用这个实例的方法
set man=nothing '释放对象
以上只供参考,具体可以看书或MSDN
类模块实例化成多个对象后,可以保持多个值(副本),而普通模块只能保持一个值
在vb工程里面右面窗口右击,可以添加类模块。
在类模块中可以写上在整个程序中可能反复被调用的公共函数。比如有多个窗口都要用。
一旦写好的公共函数,就可以和既有的函数一样被使用了。比如,在类模块中,我们建立一个加法函数,myadd,代码如下:
Public Function myadd(a As Long, b As Long) As Long
myadd = a + b
End Function
这样,在任何一个窗口,我们都可以调用这个myadd函数,做一个按钮相应,计算2+3,如下:
Private Sub Command1_Click()
MsgBox myadd(2, 3)
End Sub
最后,要说明的是,建立类模块是提高程序的可重用性、逻辑性、可理解性。但是能写在窗体下的函数尽量不用模块,效率会比使用模块高些。