发信人: antfeeling()
整理人: fishy(2000-08-22 08:08:11), 站内信件
|
为 Thing 类创建属性和方法
要为类创建属性,需要在类模块中添加公共变量和属性过程。要为类创建方法, 需要在类模块中添加 Public Sub 和 Public Function。下面的步骤为 Thing 类 创建了两个属性和一个方法。
Name 属性是可以由客户应用程序检索并设置的字符串。
只读的 DebugID 属性返回一个顺序号,表示 Thing 对象创建的次序。这对调试 来说很有帮助。
ReverseName 方法颠倒 Name 属性中字母的顺序。
注意 创建一个 ActiveX DLL 示例需要分为几步,这个帮助主题只是其中一步。 要访问该帮助主题,选择帮助主题“创建 ActiveX DLL”即可。
创建 Name 属性
在 Thing 的类模块的声明部分中添加下列代码:
Option Explicit
Public Name As String
变量 Name 被声明为 Public 的,因此就成了 Thing 类的一个属性。
重点 不要混淆此处创建的 Name 属性与类模块的 Name 属性。类模块的 Name 属 性是在设计时用来指定类名 (Thing) 的;在运行时看不到这个属性。
要创建只读的 DebugID 属性,请按照以下步骤执行:
在 Thing 的类模块的声明部分中添加下列代码:
'用来存储 DebugID 属性的值。
Private mlngDebugID As Long
在“工具”菜单中,选择“添加过程”打开“添加过程”对话框。在“名称”框 中,输入 DebugID。单击“属性”和“公共的”,然后单击“确定”。
在代码窗口中,删除 Property Let 过程,并修改 Property Get 过程,如下所 示:
Public Property Get DebugID() As Long
DebugID = mlngDebugID
End Property
Property Let 过程的用途是允许用户为 DebugID 属性赋新的值。删除这个过程 就使属性变成只读的了。
提示 由于属性过程由两部分组成,所以用查看全部模块的方式会使操作容易一些 。可以用代码窗口左下角的按钮在查看过程和查看全部模块两种方式之间切换。
变量 mlngDebugID 是一个私有数据成员,用来存储 DebugID 属性的值。由于把 它声明为 Private,因此客户应用程序看不到它,也就不能修改它。这就是封装 的一个例子,更详细的讨论可以在《Visual Basic 程序员指南》中的“将用户定 义类型和过程组织在一起”部分中找到。
Property Get 过程返回私有变量的值,使客户应用程序能够用下列代码读到属性 值:
Private Sub Command1_Click()
Dim t As ThingDemo.Thing
Set t = New ThingDemo.Thing
MsgBox t.DebugID
End Sub
要创建 ReverseName 方法,请按照以下步骤执行:
在“工具”菜单中,单击“添加过程”打开“添加过程”对话框。在“名称”框 中,输入 ReverseName。单击“子程序”和“公共的”,然后单击“确定”。
在 Thing 类模块的新的 Sub 过程中输入下列代码:
Public Sub ReverseName()
Dim intCt As Integer
Dim strNew As String
For intCt = 1 To Len(Name)
strNew = Mid$(Name, intCt, 1) & strNew
Next
Name = strNew
End Sub
注意 刚刚创建、并用于 ReverseName 方法的 Name 属性不同于类模块的 Name 属性。与刚才创建的 Name 属性不同,类模块的 Name 属性在运行时是不可见的 。
循序渐进
创建 ActiveX DLL 示例需要好几步,该帮助主题只是其中一步。
目的 请参阅
到下一步 为 Initialize 和 Terminate 事件添加代码
从头开始 创建一个 ActiveX DLL
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 61.141.204.217]
|
|