例如
HTM文件内容:
<OBJECT
    classid="clsid:E4F4E832-A777-4D0B-96D5-0AA66206A00A"
    codebase="test.ocx#version=1,0,0,0"
    width=0
    height=0
    align=center
    hspace=0
    vspace=0>
    <param name="StrUrl" value="http://www.sina.com.cn/">
</OBJECT>
我在控件内容:
'缺省属性值:
Const m_def_StrUrl = ""
'属性变量:
Dim m_StrUrl As StringPrivate Sub UserControl_Initialize()MsgBox m_StrUrl
'测试看能不能得到参数传来的值,请问如何才能看到传来的值呀?
End Sub'注意!不要删除或修改下列被注释的行!
'MemberInfo=13,0,0,
Public Property Get StrUrl() As String
    StrUrl = m_StrUrl
End PropertyPublic Property Let StrUrl(ByVal New_StrUrl As String)
    m_StrUrl = New_StrUrl
    PropertyChanged "StrUrl"
End Property'为用户控件初始化属性
Private Sub UserControl_InitProperties()
    m_StrUrl = m_def_StrUrl
End Sub'从存贮器中加载属性值
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)    m_StrUrl = PropBag.ReadProperty("StrUrl", m_def_StrUrl)
End Sub'将属性值写到存储器
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)    Call PropBag.WriteProperty("StrUrl", m_StrUrl, m_def_StrUrl)
End Sub

解决方案 »

  1.   

    可以放按钮
    Private Sub comand_click()
    MsgBox m_StrUrl
    '测试看能不能得到参数传来的值,请问如何才能看到传来的值呀?
    End Sub这样可以得到
      

  2.   

    我认为是安全设置的问题现成的例子没有,这有一篇文章,你照着做一下,或者做一下数字签名也可:
    http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q182/5/98.asp&NoWebContent=1
      

  3.   

    我用了数字签名的。我打包之后,得到.cab文件,可是我想直接
    在网页中调用.ocx
    没必要去用.cab,那我该如何把它打包来得到clsid
      

  4.   

    试试在属性的Let里面显示:
    Public Property Let StrUrl(ByVal New_StrUrl As String)
        m_StrUrl = New_StrUrl
        Msgbox New_StrUrl
        PropertyChanged "StrUrl"
    End Property
      

  5.   

    现在能够显示了,我把它放在计时器事件中来响应,我已对它进行了测试签名,当HTM调用不带参数时,没问题。但是当HTM调用并带参数时,就会出现交互不安全,不过,选择是的话,还是能看到对话框弹出(http://www.sina.com.cn/),就是看不到ACTVIXE界面了。HTM文件内容:<OBJECT CLASSID="clsid:8475F8E6-75A7-42C0-862D-5E6088545419"
        codebase="test.ocx#version=1,0,0,0">
        <param name="StrUrl" value="http://www.sina.com.cn/">
    </OBJECT>
    所有源程序如下:'缺省属性值:
    Const m_def_StrUrl = ""
    '属性变量:
    Dim m_StrUrl As String'注意!不要删除或修改下列被注释的行!
    'MemberInfo=13,0,0,
    Public Property Get StrUrl() As String
        StrUrl = m_StrUrl
    End PropertyPublic Property Let StrUrl(ByVal New_StrUrl As String)
        m_StrUrl = New_StrUrl
        PropertyChanged "StrUrl"
    End PropertyPrivate Sub Timer1_Timer()If m_StrUrl <> "" Then
        MsgBox m_StrUrl
        '测试看能不能得到参数传来的值,请问如何才能看到传来的值呀?
        Timer1.Enabled = False
    End IfEnd Sub'为用户控件初始化属性
    Private Sub UserControl_InitProperties()
        m_StrUrl = m_def_StrUrl
    End Sub'从存贮器中加载属性值
    Private Sub UserControl_ReadProperties(PropBag As PropertyBag)    m_StrUrl = PropBag.ReadProperty("StrUrl", m_def_StrUrl)
    End Sub'将属性值写到存储器
    Private Sub UserControl_WriteProperties(PropBag As PropertyBag)    Call PropBag.WriteProperty("StrUrl", m_StrUrl, m_def_StrUrl)
    End Sub
      

  6.   

    我对它进行了测试签名,之后,还会出现
    “在此页上的 ActiveX 控件和本页上的其它部份的交互可能不安全。你想允许这种交互吗?”为什么?
      

  7.   

    http://expert.csdn.net/Expert/topic/2889/2889280.xml?temp=.9742395万分感谢!
      

  8.   

    //我对它进行了测试签名,之后,还会出现
    “在此页上的 ActiveX 控件和本页上的其它部份的交互可能不安全。你想允许这种交互吗?”
    你用微软的控件测试一下,看看结果如何,如果用微软的控件没有弹出对话框,说明你做的还是有问题
      

  9.   

    width="100" height="22" 就OK了