VB6.0属性过程详解(Property过程)[第三章:枚举属性和OLE_COLOR类型(设计限定输入的属性,如DragMode属性)]

VB6.0属性过程详解(Property过程)[第三章:枚举属性和OLE_COLOR类型(设计限定输入的属性,如DragMode属性)],第1张

概述        这里是《VB6.0属性过程详解(Property过程)》的第三章,如果你没有看过上面的这篇文章,你应该先去看看,除非你觉得你已经初步了解了属性过程的运作机制。             第三章:枚举属性和OLE_COLOR类型         同样,提出个问题,又是看图:        我们看DragMode属性,你有没有发现,属性的值被限定,你只能选择0(vbmanual)或者1(

这里是《VB6.0属性过程详解(Property过程)》的第三章,如果你没有看过上面的这篇文章,你应该先去看看,除非你觉得你已经初步了解了属性过程的运作机制。

第三章:枚举属性和olE_color类型

同样,提出个问题,又是看图:

我们看DragMode属性,你有没有发现,属性的值被限定,你只能选择0(vbmanual)或者1(vbutomatic),那么这样的属性又该如何设计呢?

大家都用过Type语句声明一个自定义的类型吧;那么大家更应该用过Const来声明一个常量吧。问这些干什么?别急,那你有没有想过把它们合起来呢?想一下吧,或许你会知道合起来是什么——没错,就是“枚举”。

枚举,可能大家不太熟悉,准确来说它是一系列常数的集合,同时它也是一个类型,它限定了声明成这个类型的变量只能取枚举中的值,而不能取其他值。注意:每一个枚举都是公用的,所以,在一个工程里同样的枚举只需声明一次。枚举是需要事先声明的,他的标准声明如下:

VB代码开始:

Public Enum 枚举名称

Var1 = Num

……

End Enum

VB代码结束

现在,我就以上面的DragMode属性为例,将我们原来的ABSS属性做出DragMode属性的效果。首先,我们声明枚举,在用户控件设计器的代码窗口顶端的声明部分加入如下的代码:

VB代码开始:

Public Enum E_ABSS

vbmanual = 0

vbutomatic = 1

End Enum

VB代码结束

这时候我们就声明了一个名为E_ABSS的枚举类型,好了现在我们将ABSS属性的属性过程改成如下这样:

VB代码开始:

Public Property Get ABSS() As E_ABSS
ABSS = gAbss
End Property

Public Property Let ABSS(ByVal vNewValue As E_ABSS)
gAbss = vNewValue
End Property

VB代码结束

改好之后整个代码窗口的代码如下图所示:

好了,现在回到窗体窗口,点击一下在窗口上的MyControl控件,然后查看属性页,找到ABSS属性,同样,点击一下它,我们就能够看到如下图所示的属性值限制了:

到了这里,仿佛一切都已经搞定了,但是,或许有一种属性你忽略了,就是设置颜色的属性,例如:Backcolor属性,他有一个颜色选择框,这个又怎么设计呢?这个问题很经典,但是这是这篇文章里最后一次这样问你。其实非常简单就是将属性改成olE_color类型就可以了。之前说了那么多,我这里就不一一解释了,改好的代码如下图所示:

改好之后,回到窗体窗口,接着~~(你懂的),你就会看到ABSS属性变成这般模样了:

OK了,到这里,大功告成,全篇文章完。BYE,88

总结

以上是内存溢出为你收集整理的VB6.0属性过程详解(Property过程)[第三章:枚举属性和OLE_COLOR类型(设计限定输入的属性,如DragMode属性)]全部内容,希望文章能够帮你解决VB6.0属性过程详解(Property过程)[第三章:枚举属性和OLE_COLOR类型(设计限定输入的属性,如DragMode属性)]所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1292053.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存