我自己编写了一个ActiveX控件,此控件包括一个文本框和一个button,有两个自定义属性item,subitem,我想把此控件用于网页上,并在网页中来改变属性的值。当点击button时在文本框中显示subitem的值。
ActiveX的程序如下:
'缺省属性值:
Const m_def_item = "7"
Const m_def_subitem = "07A01"
'属性变量:
Dim m_item As String
Dim m_subitem As String
'注意!不要删除或修改下列被注释的行!
'MemberInfo=13,0,0,7
Public Property Get item() As String
    item = m_item
End PropertyPublic Property Let item(ByVal New_item As String)
    m_item = New_item
    PropertyChanged "item"
End Property'注意!不要删除或修改下列被注释的行!
'MemberInfo=13,0,0,07A01
Public Property Get subitem() As String
    subitem = m_subitem
End PropertyPublic Property Let subitem(ByVal New_subitem As String)
    m_subitem = New_subitem
    PropertyChanged "subitem"
End PropertyPrivate Sub Command1_Click()
Text1.Text = m_subitem
End Sub'为用户控件初始化属性
Private Sub UserControl_InitProperties()
    m_item = m_def_item
    m_subitem = m_def_subitem
End Sub'从存贮器中加载属性值
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)    m_item = PropBag.ReadProperty("item", m_def_item)
    m_subitem = PropBag.ReadProperty("subitem", m_def_subitem)
End Sub'将属性值写到存储器
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)    Call PropBag.WriteProperty("item", m_item, m_def_item)
    Call PropBag.WriteProperty("subitem", m_subitem, m_def_subitem)
End Sub
加入ActiveX控件的网页程序如下:
<HTML>
<BODY>
<OBJECT ID = "use"
CLASSID = "clsid:9824FABD-C98B-4C24-B5AB-AAB2EEE00C59" 
CODEBASE = "D:\vb\mycontrol\control.ocx">
<PARAM NAME="item" VALUE="6">
<PARAM NAME="subitem" VALUE="07B04">
</OBJECT>
</BODY>
</HTML>
但是当点击button时,显示的值仍为默认的值,并没有改变为在网页中指定的值,请问是不是我的程序有问题。请多多指教!

解决方案 »

  1.   

    item已经是属性变量了。你直接用就可以了。
    Text1.Text =item
      

  2.   

    sunshine6 (阳光) :请问你是如何生成接口属性的, 我用ACtivex 控件接口向导生成的属性, 不能在网页中引用, 即:<param name="UserName" value="test">一加入这句在<object></object>中, 就报:该页存在潜在的Activex控件不安全的信息.当前安全设置禁止以该方式运行控件. 因此可能无法正确显示该页.这是这什么?
      

  3.   

    Text1.Text =item
    其他地方都对的。---------------------------------------------------------
    Montaque==Digitalboy==Houyongfeng==Monkey