|
|
Нажмите,пожалуйста,на этот баннер.Почему вас прошу это сделать,можно прочитать тут.
Объектная модель
Рассмотрим объект ActiveX Label (объект и элемент управления для VBScript
фактически означают одно и то же). Он состоит из свойств и имеет один метод.
Некоторые из его свойств включают заголовок (Caption), цвет фона (BackColor),
цвет шрифта (ForeColor), размер (FontSize) и стиль шрифта (FontName). Его
методом является About Box, отображающий при вызове окно с информацией
об ActiveX. Событием для Label является перемещение указателя мыши над
Label. Существует специальный тег <OBJECT> для вставки объектов в
HTML-страницу. В его синтаксисе используются два тега: <OBJECT> и
<PARAM>. Первый - для определения используемого объекта, а также
других главных параметров, связанных с объектом; второй - для установки
разных свойств объекта, определенного тегом <OBJECT>, во вложенных
тегах <PARAM>. Атрибуты тега <OBJECT> перечислены в табл. 1,
а тэга <PARAM> - в табл. 2.
Таблица 1.
Атрибуты тэега <OBJECT>.
Атрибут |
Назначение |
ID |
Определяет имя объекта в документе |
CLASSID |
Класс, к которому принадлежит объект; может быть уникальным
универсальным идентификатором или другой группой классов типа Java. Для
элементов управления ActiveX - это идентификационный номер класса в системном
реестре вашей системы |
DATA |
Адрес, откуда объект должен получать данные; может включать
данные для определения всех свойств классов |
CODEBASE |
Адрес, где находится код объекта |
TYPE |
Тип Internet MIME (например: application/x-oleobject
будет определять OLE-объект, который должен использоваться как код) |
HEIGHT |
Высота границы объекта |
WIDTH |
Ширина границы объекта |
Таблица 2.
Атрибуты тега <PARAM>.
Атрибут |
Назначение |
NAME |
Определяет имя объекта, которое должно использоваться |
VALUE |
Определяет значение, которое должно быть присвоено свойству
объекта, определенному в NAME |
Теперь посмотрим на исходный текст, приведенный в примере для элемента
управления - Label.
<HTML>
<HEAD>
<TITLE>Пример, демонстрирующий объект ActiveX</TITLE>
</HEAD>
<BODY BGCOLOR="steelblue">
<OBJECT ID="mylabel" WIDTH="100" HEIGHT="51"
CLASSID="CLSID:99B42120-6EC7-11CF-A6C7-00AA00A47DD2">
<PARAM NAME="_ExtentX" VALUE="2646">
<PARAM NAME="_ExtentY" VALUE="1349">
<PARAM NAME="Caption" VALUE="This is label 1">
<PARAM NAME="Angle" VALUE="0">
<PARAM NAME="Alignment" VALUE="4">
<PARAM NAME="Mode" VALUE="1">
<PARAM NAME="FillStyle" VALUE="0">
<PARAM NAME="FillStyle" VALUE="0">
<PARAM NAME="ForeColor" VALUE="#000000">
<PARAM NAME="BackColor" VALUE="#C0C0C0">
<PARAM NAME="FontName" VALUE="Arial">
<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>
</BODY>
</HTML>
Для тега <OBJECT> определено несколько параметров, которые предоставляют
полезную информацию относительно используемого объекта. Сначала определяется
имя объекта "mylabel", затем свойства: ширина и высота. Далее
элемент управления идентифицируется параметром "CLSID:99B42120-6EC7-11CF-A6C7-00AA00A47DD2"
точно так, как он обозначается в системном реестре вашей операционной системы.
Вложенные тэги <PARAM> содержат свойства объекта Label. Атрибут NAME
используется, чтобы определить, какое свойство должно использоваться, а
VALUE - для связи значения с этим свойством. Весь этот процесс автоматизирует
программа ActiveX Control Pad. В ней есть окно, позволяющее корректировать
свойства любого элемента управления (см. статью "Размещение
ActiveX на страницах Web", "Мир ПК", # 2/97, с.
51).
Использование объектов
Теперь вы знаете, что для включения объектов в 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 с разными событиями и элементами управления на вашей страничке.
Таким образом, вы можете больше внимания обращать на сам процесс разработки
приложения.
|