Главная | Случайная
Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Установка свойств для элементов управления и объектов




Установка свойств для разных объектов на странице является одной из простейших задач при программировании на VBScript. Стандартная схема этого действия выглядит так:

<SCRIPT>

...

ObjectName.property = value

...

</SCRIPT>

Здесь ObjectName - имя объекта, определенное с помощью атрибутов id или name; property - свойство объекта, называемого ObjectName; value - присваиваемое свойству значение. Пример ниже иллюстрирует, как это делается:

...

MyLabel.Caption="Watch me change!"

MyLabel.ForeColor = "65280"

MyLabel.BackColor = "14527197"

MyLabel.FontName = "Times"

...

Свойству Caption (заголовок) присваивается строка "Watch me change!". Затем устанавливаются свойства ForeColor (цвет текста), BackColor (цвет фона) и FontName (стиль шрифта). Так можно устанавливать свойства для любого объекта на странице.

Обработка событий

VBScript - событийно-ориентированный язык. Некоторые события, перечислены ниже работают со многими элементами управления.

OnClick - Пользователь щелкнул мышкой на элементе управления

MouseOver - Пользователь помещает курсор мыши над объектом

DblClick - Пользователь дважды щелкнул мышкой на соответствующем объекте

OnLoad - Происходит при загрузке документа или другого элемента управления

Существует несколько методов определения того, что должно происходить в скрипте при возникновении события. Можно определить событие как параметр тега для объекта на странице. Значением этого атрибута должно быть имя процедуры, которую нужно заранее определить внутри тега. Если надо использовать определенную процедуру, то атрибут language тега <SCRIPT> должен быть включен в этот тег как дополнительный атрибут.

Дополнительные атрибуты тега <SCRIPT>:

event - определяет событие (для объекта или элемента управления, определенного с помощью FOR), используемое для вызова кода, вставленного в контейнер SCRIPT

for - декларирует, для какого объекта или элемента управления на странице должен использоваться скрипт, если происходит событие, указанное в атрибуте event

language - определяет используемый скриптовый язык. Значением может быть либо "VBScript" для VBScript, либо "JavaScript" для JavaScript

eventname - псевдоним события. Любое событие для определенного элемента управления может использоваться как атрибут одного из четырех тегов: <BODY>, <INPUT>, <OBJECT> и <A>. Значением для этого события всегда является процедура (и в VBScript, и в JavaScript). Некоторые названия событий, которые могут использоваться как атрибуты, перечислены выше. Этот метод не может работать с некоторыми элементами ActiveX

Типовая схема описания обработчика события следующая: <...EventName="method" language="VBScript"...>, где EventName - любое правильное событие для соответствующего объекта, а method - это имя процедуры, которая вызывается при возникновении какого-то определенного события. Используя атрибуты, описанные выше, можно определить в теге SCRIPT, какое произошло событие и для какого объекта должен использоваться следующий код, что необходимо сделать, если в программе несколько процедур. Это выглядит примерно так:

<SCRIPT language="VBScript" for="ObjectName" event="EventName">

...

</SCRIPT>

For определяет имя элемента управления или объекта, для которого используется последующий код; event задает событие, при возникновении которого следующий код будет вызван.

Определение обработчика события через процедуру - самый простой способ выполнения некоторого кода, когда обрабатываемое событие имело место. Этот метод использует процедуру с таким же именем, как у элемента управления, который вы предполагаете использовать, плюс подчеркивание между именами объекта и события:

<SCRIPT language="VBScript">

...

sub ObjectName_ObjectEvent

...

end sub

...

</SCRIPT>

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

...

<INPUT type="button" value="click ME to change" onclick="changes" language="VBScript"> …

<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

...

Вызов методов

Чтобы вызвать подпрограмму из Вашего скрипта, используйте следующий синтаксис:

call ProcedureName(arguments)

ProcedureName - это имя подпрограммы, которую вы вызываете; arguments - значения, передающиеся в процедуру. Как было сказано ранее, подпрограммы используются, когда требуется обработать какое-то событие, например:

<SCRIPT>

...

sub MyObject_Click()

alert "This is a subroutine which is called _

when the Click event happens for the MyObject object."

end sub

...

</SCRIPT>

В нашем случае это Click, т. е. пользователь должен щелкнуть мышкой на этом объекте. Это не будет работать для функции, потому что функция - это процедура, возвращающая значение. Что касается функций, то они сами могут быть возвращены как значение, например:

<SCRIPT>

...

y = 2

x = GiveValue(y)

alert x

...

function GiveValue(a)

GiveValue = a + 4

end function

...

</SCRIPT>

Следующий пример иллюстрирует вызовы подпрограммы и функции из скрипта:

<HTML>

<HEAD>

<TITLE>Документ HTML, использующий элементы управления ActiveX и процедуры </TITLE>

</HEAD>

<BODY bgcolor="mistyrose">

<OBJECT id="IeLabel1" width=170 height=93 classid="CLSID:99B42120-6EC7-11CF-A6C7-00AA00A47DD2">

<PARAM name="_ExtentX" value=3625>

<PARAM name="_ExtentY" value=2461>

<PARAM name="Caption" value="Click Me">

<PARAM name="Angle" value=0>

<PARAM name="Alignment" value=4>

<PARAM name="Mode" value=1>

<PARAM name="FillStyle" value=0>

<PARAM name="FillStyle" value=1>

<PARAM name="ForeColor" value=#FF0000>

<PARAM name="BackColor" value=#373737>

<PARAM name="BackStyle" value=1>

<PARAM name="FontName" value="Courier">

<PARAM name="FontSize" value=14>

<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><BR clear="ALL">

<INPUT type="button" name="button1" value="Get Value">

Enter Angle:

<INPUT type="text" name="AngleInpt" value=0 size=10 maxlength=10>

The Sine is:

<INPUT type="text" name="SineInpt" value=0 size=10 maxlength=10>

<SCRIPT language="VBScript">

dim pi

pi = 4 * atn(1.0)

sub button1_OnClick

dim angle, sinangle

angle = AngleInpt.value

sinangle = getsin(angle)

SineInpt.value = sinangle

end sub

function getsin(angle)

getsin = sin((pi * angle)/180)

end function

sub ieLabel1_Click

call ieLabel1.AboutBox

end sub

</SCRIPT>

</BODY>

</HTML>

Когда пользователь щелкает мышью по метке Label, то вызывается метод About Box. Поля ввода используются для вычисления синуса заданного угла (в градусах). Если ввести некоторое значение в первое поле ввода, помеченное текстом "Enter Angle", и щелкнуть на кнопке мышью, то введенный аргумент будет переведен в радианы и затем вычислен синус, результат чего будет отображен. Первая процедура вызывается по нажатию мышью на единственный объект на странице - кнопку, называемую button1. Когда это событие обрабатывается, то вызывается сразу несколько методов. Сначала обновляются все переменные, которые Вы собираетесь использовать для Вашей программы. Затем отыскивается значение, называемое AngleInpt, которое пользователь набрал в поле ввода. Далее вызывается функция, в которую заносится введенный параметр из поля AngleInpt. Она преобразует угловые градусы в радианы, затем вычисляет его синус (как Вы помните, радианы являются основной мерой измерения углов для тригонометрических функций в VBScript). Значение связывается с именем функции (getsin), которая возвращает его для определенной нами ранее переменной. В итоге это значение отображается в текстовом поле, называемом SineInpt.

В данном примере задействовано два метода: подпрограмма button1_OnClick, которая, если Вы помните, вызывается, когда пользователь щелкает мышью по кнопке, и функция getsin(angle), где angle - параметр, используемый для преобразования градусов в радианы. У элемента ActiveX Label используются два включаемых метода (методами называются собственные подпрограммы и функции объекта): тот, который вызывается, когда по метке щелкнули мышкой (ieLabel1_Click), и метод отображения диалоговой панели ieLabel.AboutBox(). Когда обращаются к методам объектов, обычно используют следующий синтаксис:

call ObjectName.MethodName()

Ключевое слово call применяется для вызова определенного метода. ObjectName - это имя объекта, для которого вы хотели бы вызвать метод, а MethodName() - это имя метода, который будет использовать сам объект. Имя объекта и вызываемый метод отделяются точкой. Также для вызова метода не требуется никаких скобок, потому что у него нет никаких параметров.




Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2019 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных