VB 控件中如何设置属性?
我编了一个VB的USERCONTROL,要放在网页上,打算用控件的属性与网页交换数据,不知这个方法是否可行?如何设置属性? 问题点数:50、回复次数:4Top
1 楼edyang(化石)回复于 2000-10-20 16:39:00 得分 0
仅仅是示例代码:
<HTML>
<HEAD>
<TITLE>TEST</TITLE>
<SCRIPT TYPE="text/javascript">
function doit()
{
MyControl1.myproperty1 = text1.value;
alert(MyControl1.myproperty1);
}
</SCRIPT>
</HEAD>
<BODY>
<OBJECT ID=MyControl1 NAME=MyControl1 CLASSID="..." WIDTH=X HEIGHT=X
CODEBASE="..."
>
<PARAM NAME="myproperty1" VALUE="propertyvalue1">
<PARAM NAME="myproperty2" VALUE="propertyvalue2">
</OBJECT>
<INPUT TYPE=TEXT NAME=text1>
<INPUT TYPE=BUTTON VALUE="TEST" onclick="doit()">
</BODY>
</HTML>
Top
2 楼swp5092()回复于 2000-10-23 14:23:00 得分 0
VB控件中,如何设置成员属性?比如我要增加一个STRING 类型属性。谢谢!Top
3 楼edyang(化石)回复于 2000-10-23 18:19:00 得分 50
如果你要增加一个属性 MyString,代码如下:
Const DEFAULT_VALUE_MyString = "I love Visual Basic"
Dim m_strMyStringHolder '成员变量
Public Property Get MyString() As String
MyString = m_strMyStringHolder
End Property
Public Property Let ss(ByVal strMyString As String)
m_strMyStringHolder = strMyString
PropertyChanged "MyString"
End Property
然后,在相应的 Rread-/WriteProperties 里面增加对应的语句,用于属性的持久性(Persistence):
'Load property values from storage
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
' Syntac pattern:
' somevar = PropBag.ReadProperty("PropertyName", defaultvalue)
m_strMyString = PropBag.ReadProperty("MyString", DEFAULT_VALUE_MyString)
End Sub
'Write property values to storage
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
Call PropBag.WriteProperty("MyString", m_strMyString, DEFAULT_VALUE_MyString)
End Sub
VB 5/6 都有 ActiveX Control Interface Wizard Addin,用它来做很轻松。
Top
4 楼swp5092()回复于 2000-10-31 11:11:00 得分 0
TO:EDYANG
感谢你的帮助,不过我还有不明白的地方。我在控件中加了一个MYSTRING属性,在另一个PROJECT中给MYSTRING赋值,然后显示,结果正确。但是在主页中,我使用<param name="mystring" value="test">这种方法给控件的MYSTRING属性赋值,显示的结果为空,即赋值不成功。然后我再用你上面所讲的方法在一个按钮的处理方法中给控件的属性赋值,可以。这是为什么?
Top




