ICANN认证国际域名顶级注册机构
网站建设,域名注册,空间租用,软件销售,广告设计 域名注册,空间租用, 网站建设,东莞网页设计,域名注册,网站推广,网站开发,网页设计 网站推广,,百度推广,新浪推广,雅虎推广,网易推广 标志设计,画册设计,包装设计,VI策划,企业形象顾问 连邦软件加盟店,提供销遥行,管家婆,速达,用友ERP,诺顿等软件报价及销售 建站必读 腾达网络,上网帮助中心, 腾达为东莞等地,提供网站建设,网站推广,广告设计,软件销售等优质服务!
建站必读


 
 
当前位置:首页 -> 建站必读 -> ASP技术
ActiveX深入浅出(二)
   What an Event



   事件是用来通知使用控件的程序员,某件事情发生了,好让程序员可以相应的处理。事件在VB编程中比比皆是,例如,当鼠标点击控件事会发生Click事件,文本框内容改变了会发生Change事件,等等。但这儿要讲的不同于这些东西,也不同于InitProperties, ReadProperties, WriteProperties前面提到过的事件,那些是系统已经定义好了的。我们要做的是定义自己的事件。自定义的事件必须声明在模块的声明部分,然后就能够在任何地方任何时候,只要你觉得应该有事件了,就可以触发它。例如,一个代表眨眼的事件应该这样声明:



   Public Event Blink()



   在括号中,你可以放置任何你想要传递给事件的参数。对于一个Click事件,这个参数可能鼠标点击时x和y坐标。而这在理,应为只是眨眼,就用不到额外的参数了。



   触发事件,得使用RaiseEvent方法。对于我们的眨眼事件,我们把它和一个计时器联系起来,这样它就能够时不时的眨眼了:



   Private Sub Blinker_Timer()



   RaiseEvent Blink



   End Sub



   就这样,一个事件就完成了,没有任何技巧或者秘密可言。现在留给程序原作的,只要编写相应的事件处理过程就行了,就像下面这样:



   Private Sub BodyControl1_Blink()



   Debug.Print "嘻嘻,我又眨眼了!"



   End Sub



   到这儿,大部分关于ActiveX控件的基本问题都讲了。后面的将是一些更高级的内容,包括图片和字体属性,“关于”对话框,运行时之读属性等等。在继续之前,再看看前面的内容,好好的在理解一下。好了吗?OK,现在开始更为激动的历程。



   首先,我们先来看看对于属性,还有什么可以挖掘的东西,比如颜色或者图片之类的东西。



   高级属性设计



   色彩值被存贮在长整形变量中,但是如果你只是定义一个长整形变量,显然是不能够得到像vb中所提供的那个颜色选单:



   这看起来很复杂,实际上做起来却一点也不难:所有你要做的只是把属性声明为OLE_COLOR类型,就像下面这段代码所作的那样:



   Public Property Get BackColor() As OLE_COLOR



   BackColor = UserControl.BackColor



   End Property



   Public Property Let BackColor(ByVal New_BackColor As OLE_COLOR)



   UserControl.BackColor = New_BackColor



   PropertyChanged "BackColor"



   End Property



   记得前面曾经提过除了Let,Get,还有第三种属性过程吗?现在揭开迷底:它就是Set属性过程,当要给对象变量赋值的时候,是不能用Let,而必须用Set来代替。这是因为保存在控件内部的对象变量,保存的并不是对象的拷贝,而只是对象的引用,也就是一个内存地址了。为了同一般变量的复制保存区别开来,VB引入了Set属性过程。



   或许你可能知道:字体和图片就是保存在对象中的,而且,它们都拥有各自的的对话框来设置相关属性。要用到这些对话框,所有我们要作的就是把图片或者字体申声明为Picture或者Font对象类型,并且为其设置Set属性过程。



   Public Property Get Font() As Font



   Set Font = lblText.Font



   End Property



   Public Property Set Font(ByVal New_Font As Font)



   Set lblText.Font = New_Font



   PropertyChanged "Font"



   End Property



   看看上面的代码,你是不是在想:也没有什么很难的啊。确实,就是这样简单啊。下面,我们来看看如何为控键建立只读属性。这也是在控件的设计中用的比较多的一个内容。



   只读属性



   最简单的方法,就是不要在Let/Set属性过程中加入任何东西。但通常,这并不能满足要求,有时,你可能需要一个运行时只读的属性。所谓运行时——和设计时相对应,是指控件最终在一个开发完成的程序中运行,而设计时指的是控件被使用在开发程序的过程中。



   要实现运行时只读,要用到Usercontrol的AmbientProperties对象。它提供了很多关于控件容器的属性。中有一个UserMode属性,当控件处在运行时状态时,UserMode值为真。通过在Let/Get过程中提供对UserMode的检测,就可以很容易的实现运行是只读属性了:



   Public Property Get MultiLine() As Boolean



   MultiLine = m_MultiLine



   End Property



   Public Property Let MultiLine(ByVal New_MultiLine As Boolean)



   If Ambient.UserMode Then



   Err.Raise 382



   Exit Sub



   EndIf



   m_MultiLine = New_MultiLine



   PropertyChanged "MultiLine"



 b
 
 
本站关键词:
|域名注册|空间租用|东莞网站开发|东莞企业网站建设|国际内域名注册|石龙 虎门 中堂|望牛墩 麻涌镇 石碣镇|高埗镇 洪梅镇 道滘镇|厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀|域名注册|空间租用|东莞网站开发|东莞企业网站建设|国际内域名注册|石龙 虎门 中堂|望牛墩 麻涌镇 石碣镇|高埗镇 洪梅镇 道滘镇|厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀|域名注册|空间租用|东莞网站开发|东莞企业网站建设|国际内域名注册|石龙 虎门 中堂|望牛墩 麻涌镇 石碣镇|高埗镇 洪梅镇 道滘镇|厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀|域名注册|空间租用|东莞网站开发|东莞企业网站建设|国际内域名注册|石龙 虎门 中堂|望牛墩 麻涌镇 石碣镇|高埗镇 洪梅镇 道滘镇|厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀|域名注册|空间租用|东莞网站开发|东莞企业网站建设|国际内域名注册|石龙 虎门 中堂|望牛墩 麻涌镇 石碣镇|高埗镇 洪梅镇 道滘镇|厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀|域名注册|空间租用|东莞网站开发|东莞企业网站建设|国际内域名注册|石龙 虎门 中堂|望牛墩 麻涌镇 石碣镇|高埗镇 洪梅镇 道滘镇|厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀|域名注册|空间租用|东莞网站开发|东莞企业网站建设|国际内域名注册|石龙 虎门 中堂|望牛墩 麻涌镇 石碣镇|高埗镇 洪梅镇 道滘镇|厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀|域名注册|空间租用|东莞网站开发|东莞企业网站建设|国际内域名注册|石龙 虎门 中堂|望牛墩 麻涌镇 石碣镇|高埗镇 洪梅镇 道滘镇|厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀|域名注册|空间租用|东莞网站开发|东莞企业网站建设|国际内域名注册|石龙 虎门 中堂|望牛墩 麻涌镇 石碣镇|高埗镇 洪梅镇 道滘镇|厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀|域名注册|空间租用|东莞网站开发|东莞企业网站建设|国际内域名注册|石龙 虎门 中堂|望牛墩 麻涌镇 石碣镇|高埗镇 洪梅镇 道滘镇|厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀|域名注册|空间租用|东莞网站开发|东莞企业网站建设|国际内域名注册|石龙 虎门 中堂|望牛墩 麻涌镇 石碣镇|高埗镇 洪梅镇 道滘镇|厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀|域名注册|空间租用|东莞网站开发|东莞企业网站建设|国际内域名注册|石龙 虎门 中堂|望牛墩 麻涌镇 石碣镇|高埗镇 洪梅镇 道滘镇|厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀|域名注册|空间租用|东莞网站开发|东莞企业网站建设|国际内域名注册|石龙 虎门 中堂|望牛墩 麻涌镇 石碣镇|高埗镇 洪梅镇 道滘镇|厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀|域名注册|空间租用|东莞网站开发|东莞企业网站建设|国际内域名注册|石龙 虎门 中堂|望牛墩 麻涌镇 石碣镇|高埗镇 洪梅镇 道滘镇|厚街镇 沙田镇 长安镇| 寮步镇 大岭山 大朗諀 黄江镇 樟木头 凤岗諀 塘厦镇 谢岗镇 清溪諀
域名注册 | 虚拟主机 | 网站建设 | 网站推广 | 广告设计 | 帮助中心 | 软件中心 | 关于腾达
东莞市腾达信息工程有限公司      本站网络实名: 东莞网站建设
地址:东莞市新城市中心区第一国际B座610   邮编:523007
电话:0769-22026071 22026072 传真:0769-22026076 24小时服务热线:13712032014
© 2002~2005 腾达网络   版权所有