庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>程序设计>VB专区>基础教程>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

Visual Basic COM基础之更多属性

 作者:ADDING    日期:2005-8-4 11:09:24
字号选择〖 〗/ 双击滚屏 单击停止   
   有时候,为了更好地处理类往往需更多的属性。例如,假如你有四种不同的客户群:集团、较大、较小和新的客户类型,或者一个用于搜索的类中有三种不同的搜索方式:软盘、硬盘和网络。那么,能不能最好从选项列表中选择一个,而不是用不能理解的数字或文本来设置相关属性?

   我想,答案是肯定的。因为这种处理就称为"枚举"。



   打开上一节的工程,让我们添加一些代码。

   在CDog类中添加下列代码:

  Public Enum CoatType

    BigAndShaggy = 1

    ShortCrewCut = 2

    PoodleStyleAfro = 3

    Unknown = 4

   end Enum

   关键词"Enum"就是用来定义枚举的,换句话说,它是可能选项的列表。各选项都有相应的数字,也就是说BigAndShaggy表示1,ShortCrewCut等于2,等等。

   需要注意的是,当将枚举项相关信息添加在数据库中时,其相应的数值是非常有用的。由于"BigAndShaggy"实际代表的是数值1,所以可以直接将其插入到数据库的数值字段中。这就意味着,可以方便使用字符串来维护数据库。

   所以,我们来创建一个Dog的Coat类型列表,并另外定义一个属性,将这些类型添加在CDog类中。

   在类中声明下列变量:

   Private udtCoat As CoatType

   这个定义的私有变量用来保存即将添加的Coat类型属性,注意到udtCoat变量既不是字符串也不是整型,而是我们自己定义的枚举类型CoatType。

   当类CDog打开时,选择"Tools"菜单中的"Add Procedure"命令,弹出相应的对话框;

   Name编辑框中键入Coat;

   选中"Property"选项按钮,然后单击[OK]。

   系统自动产生下列代码框架:

  Public Property Get Coat() As Variant

   End Property

   Public Property Let Coat(ByVal vNewValue As Variant)

   End Property

   但我们需要的却不是这个框架。代码中,"Variant"变量类型是能接收和处理任何类型数据。在我们定义的CDog类中,最后的属性是Age,它只能接受整型。但现在需要属性能接收CoatType列表中的数据类型,因此需要作下列修改:

   将产生的代码中所有的"Variant"改成"CoatType";

   然后,添加一些实际处理属性的代码。

   在属性的Get过程中,添加下列代码:

Coat = udtCoat

   在属性的Let过程中,添加下列代码:

udtCoat = vNewValue

   切换到Form1;

   将Command按钮的代码改为:

Dim MyDog As CDog
Set MyDog = New CDog
MyDog.Name = "Billy"

   现在开始键入:MyDog.Coat =

   奇迹出现了,当你敲下"="键时,出现一个含有可能选项的列表,从中我们可以选择一个。

   完成代码的键入:MyDog.Coat = ShortCrewCut

   下一步,我们将获取Coat属性的值。假如现在就来简单地在消息对话框中显示属性值,则只需返回选择项的值就可以了。例如,若选择了ShortCrewCut,其属性一定返回2。不信,可以试一试!

   但这里采用另外一种方法,它是用If-Then语句判断Coat:

   在Command按钮已有的代码后面添加下列代码:

  If MyDog.Coat = BigAndShaggy Then

    MsgBox "You have a big, bouncy, bushy pup!"

   ElseIf MyDog.Coat = PoodleStyleAfro Then

    MsgBox "Your pooch is pretty, petit and pooch-like!"

   ElseIf MyDog.Coat = ShortCrewCut Then

    MsgBox "Your dog is full of oomph, oomph and more oomph!"

   ElseIf MyDog.Coat = Unknown Then

    MsgBox "I have no idea about your dog. I don't think " & _

        "you do either!"

   End If

   这里的代码只是简单判断Coat属性值,并显示相应的消息对话框。当然,这里也可以使用"Select Case"语句。

   最后,我们添加最后一条语句来释放计算机内存

   在Command按钮已有的代码后面添加下列代码:

Set MyDog = Nothing

   按F5运行程序,并单击Command按钮测试一下。

   结果怎样?
上一篇:Visual Basic COM基础讲座之属性    下一篇:VB COM编程基础之子过程函数和参数  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: ADDING
信息来源: 网络 录入时间: 2005-8-4 11:09:24
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿