使用对象
无论使用的是 ActiveX? 控件(以前称为 OLE 控件)还是 Java? 对象,Microsoft Visual Basic Scripting Edition 和 Microsoft? Internet Explorer 都以相同的方式处理它们。如果您使用的是 Internet Explorer 并且 ActiveX 库中安装了这些控件,就会看到由以下代码制作的页面。
<OBJECT> 标记用来包含对象,<PARAM> 标记用来设置对象属性的初始值。使用 <PARAM> 标记类似于在 Visual Basic 中设置窗体控件的初始属性值。例如,以下代码使用 <OBJECT> 和 <PARAM> 标记将 ActiveX 标签控件添加到页面中:
<OBJECT classid="clsid:99B42120-6EC7-11CF-A6C7-00AA00A47DD2" id=lblActiveLbl width=250 height=250 align=left hspace=20 vspace=0 > <PARAM NAME="Angle" VALUE="90"> <PARAM NAME="Alignment" VALUE="4"> <PARAM NAME="BackStyle" VALUE="0"> <PARAM NAME="Caption" VALUE="一个简单标签"> <PARAM NAME="FontName" VALUE="宋体"> <PARAM NAME="FontSize" VALUE="20"> <PARAM NAME="FontBold" VALUE="1"> <PARAM NAME="FrColor" VALUE="0"> </OBJECT>
象对任何窗体控件一样,可以获取属性、设置属性和调用方法。例如,以下代码包含 <FORM> 控件,可用其对标签控件的两个属性进行操作:
<FORM NAME="LabelControls"> <INPUT TYPE="TEXT" NAME="txtNewText" SIZE=25> <INPUT TYPE="BUTTON" NAME="cmdChangeIt" VALUE="更改文本"> <INPUT TYPE="BUTTON" NAME="cmdRotate" VALUE="旋转标签"> </FORM>
通过定义过的窗体,cmdChangeIt 按钮的事件过程可更改标签文本:
<SCRIPT LANGUAGE="VBScript"> <!-- Sub cmdChangeIt_onClick Dim TheForm Set TheForm = Document.LabelControls lblActiveLbl.Caption = TheForm.txtNewText.Value End Sub --> </SCRIPT>
代码将对控件和值的引用限定在窗体中,这与简单验证示例中的代码类似。
ActiveX 库中有多个 ActiveX? 控件可用于 Internet Explorer。您可以在那里找到关于属性、方法和事件的全部信息,也可以在编程参考页面上找到关于控件类标识符 (CLSID) 的信息。另外还可以在 Internet Explorer 4.0 Author's Guide and HTML Reference 页面上找到有关 <OBJECT> 标记的详细信息。 -----------------------------------------------------------------------
注意 Internet Explorer 的早期版本要求用大括号 ({}) 将 classid 属性括起来,不符合 W3C 规格。在当前版本中使用大括号则会产生“此页使用了过期版本的 <OBJECT> 标记”信息。
最后给大家付一个VBScript页面的简单样例
使用 Microsoft? Internet Explorer 可以查看用以下 HTML 代码制作的页面。如果单击页面上的按钮,可看到 VBScript 的运行结果。
<HTML> <HEAD><TITLE>一个简单首页</TITLE> <SCRIPT LANGUAGE="VBScript"> <!-- Sub Button1_OnClick MsgBox "Mirabile visu." End Sub --> </SCRIPT> </HEAD> <BODY> <H3>一个简单首页</H3><HR> <FORM><INPUT NAME="Button1" TYPE="BUTTON" VALUE="单击此处"></FORM> </BODY> </HTML>
结果虽然有点简单:一个对话框显示一个拉丁短语(意为“看起来非常漂亮”)。然而这段代码实际上作了许多事情。
当 Internet Explorer 读取页面时,找到 <SCRIPT> 标记,识别出 VBScript 代码并保存代码。单击按钮时,Internet Explorer 使按钮与代码连接,并运行该过程。
<SCRIPT> 标记中的 Sub 过程是一个事件过程。过程名包含两部分:一部分为按钮名,即 Button1(从 <INPUT> 标记中的 NAME 属性获取),另一部分为事件名,即 OnClick。两部分由下划线 (_) 连接。单击按钮时,Internet Explorer 查找并运行相应的事件过程,即 Button1_OnClick。
Internet Explorer 在 Internet Explorer Scripting Object Model 文档中定义了可用于窗体控件的事件。
页面也可以使用控件与过程的组合。VBScript 与窗体显示了控件之间的一些简单交互作用。
向事件附加代码的其他方法
上述的方法也许是最简单和最常用的,但也可以使用另外两种方法向事件附加 VBScript 代码。一种方法是在定义控件的标记中添加较短的内部代码。例如在单击按钮时,下面的 <INPUT> 标记执行与前面示例相同的操作:
<INPUT NAME="Button1" TYPE="BUTTON" VALUE="单击此处" OnClick='MsgBox "Mirabile visu."'>
请注意函数调用包含在单引号中,MsgBox 函数的字符串包含在双引号中。只要用冒号 (:) 分隔语句,就可以使用多条语句。
另一种方法是在 <SCRIPT> 标记中指定特定的控件和事件:
<SCRIPT LANGUAGE="VBScript" EVENT="OnClick" FOR="Button1"> <!-- MsgBox "Mirabile visu." --> </SCRIPT>
由于 <SCRIPT> 标记指定了事件和控件,所以不需要再用 Sub 和 End Sub 语句。
|