Использование VBScript с объектами
Использование объектов
Независимо от того, используете вы элементы ActiveX (ранее они назывались OLE) и Java объекты,
Microsoft Visual Basic Scripting Edition и Internet Explorer обрабатывают их одинаково.
Если вы используете Internet Explorer с установленным элементом управления Label,
вы можете проверить работу следующего кода.
Вы включаете объект, используя тег <OBJECT> и устанавливаете его начальные свойства в теге <PARAMS>.
Если вы являетесь программистом Visual Basic, то вы должны знать, то тег <PARAMS>
используется только для установки начальных свойств элемента управления на форме.
Например, следующий фрагмент кода добавляет на страницу элемент управления 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="4">
<param NAME="BackStyle" VALUE="0">
<param NAME="Caption" VALUE="A Simple Desultory Label">
<param NAME="FontName" VALUE="Verdana, Arial, Helvetica">
<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="Измениь текст">
<input TYPE="BUTTON" NAME="cmdRotate" VALUE="Повернуть">
</form>
Событие, связанное с кнопкой cmdChangeIt, изменяет текст элемента Label:
<SCRIPT LANGUAGE="VBScript">
<!--
sub cmdChangeIt_onClick
dim TheForm
set TheForm = Document.LabelControls
lblActiveLbl.Caption = TheForm.txtNewText.Value
end sub
-->
</SCRIPT>
Связь элементов управления, находящихся внутри формы и значений полей ввода/вывода
выполняется также, как это описано в разделе
VBScript и формы.
Несколько элементов ActiveX доступны для использования в Internet Explorer.
Вы можете найти полную информацию о свойствах, методах и событиях, а также об
идентификаторах классов (CLSID) для элементов управления на сайте Microsoft
(http://www.microsoft.com).
Вы можете найти больше информации о теге <OBJECT> на странице Internet Explorer 4.0 Author's Guide and HTML Reference.
ПРИМЕЧАНИЕ
Простая реализация Internet Explorer требует наличия фигурных скобок ({}) вокруг
атрибутов класса, что не соответствует спецификации W3C. Использование фигурных скобок
в текущей реализации генерирует сообщение «This page uses an outdated version of the <OBJECT> tag»
Боюсь, что всё вышесказанное, для многих из вас не очень понятно, особенно если
вы раньше никогда не использовали тег <OBJECT>. В таком случае лучше всё проверить на практике.
Однако. Скорее всего у вас (как и у меня), элемент управления Label не установлен,
поэтому приведённый здесь пример работать не будет. Чтобы исправить это недоразумение,
приведу постой пример использования описанного в этом разделе подхода.
Отличие будет заключаться в том, что в качестве объекта в моем примере будет использоваться тег <IMG>.
<html>
<head><title>Простая проверка</title>
<SCRIPT LANGUAGE="VBScript">
<!--
sub cmdPlusSize_onClick
imgTest.Width = imgTest.Width * 1.1
imgTest.height = imgTest.height * 1.1
end sub
sub cmdMinusSize_onClick
imgTest.Width = imgTest.Width / 1.1
imgTest.height = imgTest.height / 1.1
end sub
-->
</SCRIPT>
</head>
<body>
<h3>Работа с объектами</h3><hr>
<img
border="0"
src="vbs-error.jpg"
width="542"
height="204"
id=imgTest
>
<form NAME="LabelControls">
<input TYPE="BUTTON" NAME="cmdPlusSize" VALUE="Увеличить на 10%">
<input TYPE="BUTTON" NAME="cmdMinusSize" VALUE="Уменьшить на 10%">
</form>
</body>
</html>
Здесь одна кнопка увеличивает размер картинки на 10% при каждом щелчке, а другая кнопка — уменьшает.
Ну а всё остальное вам должно быть понятно, если вы читали предыдущие разделы.
А ниже вы можете проверить работу этого кода (если ваш браузер - Internet Explorer):