软件注册站
热情软件屋

 
如何能使ActiveX控件属性可以象image控件一样直接用等号赋值
编号: QA003731    
建立日期: 2001年1月2日 最后修改日期: 2001年1月7日
所属类别: Visual Basic - ActiveX技术
   
    操作系统: windows系列
    编程工具: VB
    问题: 用制作ActiveX控件,如果需要实现图形类型的属性如mouseicon、picture等,目前我只能定义成object类型,然后用propery set来实现,这样用户调用的时候必须使用set语句。
    如何能使这些属性可以象image控件一样直接用等号赋值。
    水平: 高手(张列)
   
    必须同时定义property set 和property let,两者缺一不可。你需要加上Property Let过程,如:
    Public Property Let Picture(ByVal New_Picture As Picture)
     UserControl.Picture = New_Picture
     PropertyChanged "Picture"
    End Property
    更详细的内容可以参考我写的《Visual Basic编程晋级:ActiveX控件》(http://china.zealsoft.com/articles/vbactivex/)一书。
    
    张列问:
    谢谢李海,可是很遗憾。实际上这样定义的属性无法调用(错误的参数号或无效的属性赋值),因为vb把picture类型当作对象,必须用property set,调用的时候也必须用set。
    答:Picture类型是一个比较特殊的类型,虽然它是对象,但它可以象普通变量那样使用Property Let过程定义,并可以不使用Set语句进行赋值。如果没有Property Let过程,就会出现你说的错误。这里是一个例子picctl.zip。在例子中,我使用UserControl11.Picture = LoadPicture("c:\win98\Carved Stone.bmp")进行的赋值。

    

此问题由李海回答。

附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, ActiveX技术, activex, com, ado

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio