560__________________Часть V. Разработка программ и написание скриптов
которые нужны для более точного распознавания случившегося события, например, координаты положения мыши, которое она занимала при выполнении щелчка в окне. Сообщение переправляется соответствующему фрагменту кода, который обрабатывает его. Объектами, которые могут получать сообщения, являются окна, диалоговые окна, пиктограммы, кнопки и т. д.
Однако объект не всегда "знает", как обработать определенное сообщение. Например, окно может "не понимать", что делать с сообщением о том, что пользователь переместил его. В этом случае объект возвращает сообщение системе Windows и сообщает о необходимости его обработки. В сущности, объект говорит системе:"Я слишком глуп, чтобы понять, что вы от меня хотите".
Обратили ли вы внимание, что в предыдущих абзацах не использовался термин "событие"? Дело в том, что система Windows не генерируе события а посылает сообщения. Помните, что события генерируются объектами в ответ на какие-либо действия с ними. В языке VBScript объект типа "кнопка"генерирует событие типа ondick, когда получает сообщение от Windows о произведенном щелчке мышью. Аналогично, окно .редактирования генерирует событие типа onchange, когда получает сообщение от Windows об изменении своего содержимого.
Как события используются на Web-страницах
Из предыдущего раздела вы узнали, что система Windows посылает сообщения объектам для того, чтобы они знали, что вы сделали нечто ужасное, например, выполнили щелчок мышью. Другого пути получения сообщений не существует. Каким же образом ваши скрипты будут узнавать о том, что с объектом что-то произошло?
Объект генерирует событие в ответ на сообщение, полученное им. Когда вы производите щелчок мышью в пределах объекта. Windows посылает сообщение объекту, передавая сведения о выполненных вами действиях. В свою очередь, объект генерирует событие типа ondick, а браузер находит соответствующий скрипт, называемый обработчиком события, и передает ему событие.
Каким же образом браузер определяет, какой из обработчиков событий следует использовать? В языке VBScript браузер ищет процедуру, название которой начинается с имени данного объекта, за которым следует символ подчеркивания (_), а после которого располагается имя произошедшего события. Например, процедура Button_onciick. Имена всех объектов определяются в HTML-файле, причем каждый тип объектов имеет набор предопределенных имен событий, о которых будет рассказано ниже. В языке JavaScript разработчик сам указывает имена процедур для обработки событий. Более полную информацию об управлении событиями в языках VBScript и JavaScript можно получить в главах 29 и 27, соответственно.