Visual Basic + HTML = VBScript

       

Использование объектов


Теперь вы знаете, что для включения объектов в HTML-документ нужно использовать пару тегов <OBJECT></OBJECT>, а для установки значений его свойств - тег <PARAM>. Если вы имели дело с программированием на Visual Basic, то использование тегов <PARAM> будет напоминать вам размещение какого-либо компонента или элемента управления на форме. Например, следующие значения тегов <OBJECT> и <PARAM> добавляют на страничку (вместо формы в Visual Basic) элемент ActiveX Label:

<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="2"> <PARAM NAME="BackStyle" VALUE="0"> <PARAM NAME="Caption" VALUE="A Simple Desultory Label"> <PARAM NAME="FontName" VALUE="Arial"> <PARAM NAME="FontSize" VALUE="20"> <PARAM NAME="FontBold" VALUE="1"> <PARAM NAME="FrColor" VALUE="0"> </OBJECT>

Вы можете присваивать или устанавливать свойства, а также вызывать методы точно так же, как с любым средством управления формой. Следующий текст, например, включает элементы <FORM>, которые могут использоваться для управления свойствами двух элементов Label:

<FORM NAME="LabelControls"> <INPUT TYPE="TEXT" NAME="txtNewText" SIZE=25> <INPUT TYPE="BUTTON" NAME="cmdChangeIt" VALUE="Change Text"> <INPUT TYPE="BUTTON" NAME="cmdRotate" VALUE="Rotate Label"> </FORM>

Обработчик события нажатия кнопки cmdChangeIt изменяет текст объекта Label:

<SCRIPT LANGUAGE="VBScript"> <!- Sub cmdChangeIt_onClick Dim TheForm Set TheForm = Document.LabelControls lblActiveLbl.Caption = TheForm.txtNewText.Value End Sub -> </SCRIPT>


Некоторые теги ( прежде всего для управления вводом информации в форму) и элементы ActiveX могут обращаться к отдельным процедурам вашего сценария (скрипта), запускаемого событием. События могут вызываться из тегов <A>, <BODY>, <INPUT> и <OBJECT>. В примере, который приводится ниже, при нажатии кнопки изменяется текст объекта Label:

<HTML> <HEAD> <TITLE>Использование объектов с событиями</TITLE> </HEAD> <BODY BGCOLOR="slateblue"><BR> <CENTER> <OBJECT ID="MyLabel" WIDTH=215 HEIGHT=93 CLASSID="CLSID:99B42120-6EC7-11CF-A6C7-00AA00A47DD2"> <PARAM NAME="_ExtentX" VALUE="5689"> <PARAM NAME="_ExtentY" VALUE="2461"> <PARAM NAME="Caption" VALUE="Watch me change!!"> <PARAM NAME="Angle" VALUE="0"> <PARAM NAME="Alignment" VALUE="4"> <PARAM NAME="BackStyle" VALUE="1"> <PARAM NAME="Mode" VALUE="1"> <PARAM NAME="FillStyle" VALUE="0"> <PARAM NAME="FillStyle" VALUE="1"> <PARAM NAME="ForeColor" VALUE="#00FF00"> <PARAM NAME="BackColor" VALUE="#DDAADD"> <PARAM NAME="FontName" VALUE="Times"> <PARAM NAME="FontSize" VALUE="12"> <PARAM NAME="FontItalic" VALUE="0"> <PARAM NAME="FontBold" VALUE="0"> <PARAM NAME="FontUnderline" VALUE="0"> <PARAM NAME="FontStrikeout" VALUE="0"> <PARAM NAME="TopPoints" VALUE="0"> <PARAM NAME="BotPoints" VALUE="0"> </OBJECT></CENTER><BR><BR><CENTER> <INPUT TYPE="button" value="click ME to change" onclick="changes" Language="VBScript"></CENTER> <SCRIPT> sub changes MyLabel.Caption="See. . . I TOLD YOU!" MyLabel.ForeColor = "6316128" MyLabel.BackColor = "167111680" MyLabel.FontName = "Arial" end sub sub MyLabel_Click MyLabel.Caption="Watch me change!!" MyLabel.ForeColor = "65280" MyLabel.BackColor = "14527197" MyLabel.FontName = "Times" end sub </SCRIPT> </BODY> </HTML>



В этом примере, помимо объекта Label, добавлены некоторые возможности сценария и несколько событий. Во-первых, определяется элемент управления Label, затем с помощью тега <INPUT> добавляется элемент управления Button. Когда пользователь нажимает на кнопку, то текст Label изменяется. При повторном нажатии кнопки возвращается прежний текст. Оба эти действия являются событиями. Когда пользователь нажимает на кнопку, возникает событие, заставляющее метку изменяться. Атрибут OnClick в теге <INPUT> используется для того, чтобы вызвать событие. Сам по себе атрибут OnClick является событием, и его значение вызывает процедуру VBScript, которая заставляет метку изменяться. Прежний текст возвращается с помощью сценария, имеющего две процедуры. Первая используется элементом Button (кнопка), а вторая - Label (метка), если пришло время вернуть ее старое содержание. Как вы заметили, во второй процедуре имя объекта Label (MyLabel) сопровождается подчеркиванием, после которого стоит имя события (MyLabel_Click). Это означает, что когда происходит событие OnClick для названного объекта, то должны выполняться последовательности операций, перечисленные в этой процедуре.

При интенсивном программировании лучше всего использовать программу Microsoft ActiveX Control Pad, великолепно выполняющую связывание команд Visual Basic с разными событиями и элементами управления на вашей страничке. Таким образом, вы можете больше внимания обращать на сам процесс разработки приложения.


Содержание раздела