“未来的世界:方向比努力重要,能力比知识重要,健康比成绩重要,生活比文凭重要,情商比智商重要! ”    ——清华大学校长留给毕业生的一段话

响应事件

上一篇 / 下一篇  2007-05-21 23:32:17

什么是事件?在我看来,事件就象我们手机上的闹钟,闹钟一响,我们就要去做某些特定的事情。或者这样说,事件就像警钟,当程序运行时,有特殊的事情发生,就会激发事件,事件本身就是一条消息,如果你编写的脚本要对事件进行处理,就需要一个特殊的过程或者函数来接受和处理事件。那么这个特殊的过程或者函数在程序运行时,就不断的监听,看系统是否传来了相应的事件,一旦接受到事件,脚本对此作出反应。

9PRv3YrY+F0

那么事件是从那里来的呢?是否需要我们在脚本中对事件进行编写呢?一般情况下,[作者:临汾市外事旅游局薛靖澜转载请注明出处]事件是某个程序在运行中的特殊状态发出的,我们不需要对事件进行编写,只需要编写处理事件的函数。比如说我们用vbs建立了ie的一个实例,那么当ie的窗口被关闭的时候,就会激发出一个叫做OnQuit的事件。51Testing软件测试网8[c!@Y?;M fU$D

是不是脚本自然而然就能接受事件并进行处理呢?我们说不是的,在创建对象的时候,我们将使用WSHcreateobject命令,例如:51Testing软件测试网H Q-wn:` t&L5mq

Set ōbjie=Wscrīpt.createobject(“internetexplorer.application”,”event_”)51Testing软件测试网/{"O{"i&M

注意到了吗?多了一个参数,这个参数的作用是什么呢?它叫做事件接收端,当脚本连接的对象包含事件时,如果对象调用的事件是OnBegin,那么WSH将会在脚本中调用一个event_OnBegin的事件处理程序。当然事件接受端并不是固定的,如果对象将其定义为MyObj_的话,那么事件处理程序将是:MyObj_OnBegin

|(?-R#f7i0

是否很熟悉?在打造个性化QQ一讲中,曾经出现过Window_OnSize(cx,cy)函数,它其实就是一个事件处理程序。51Testing软件测试网B3@^L;R3CoH

让我们来举个实际的例子完整的看看事件的处理过程:

iKI'rC FRN0

Set ōbjie=Wscrīpt.CreateObject("InternetExplorer.Application","event_")

v)p4E*Xtt xE(v+c0

objie.Visible=True

[Y'^9E\WOs&B0

MsgBox "请关闭浏览器窗口看看效果!",vbSystemModal

%s0[6|%u Q8p0

Wscrīpt.sleep 600051Testing软件测试网_cC~,^8B

MsgBox "现在已经正常关闭了"

)i5m-g^!b@6fS:}0

51Testing软件测试网jI@qnn-Bl4r

Sub event_onquit()51Testing软件测试网%{8Z.?vm4K+j'Zw:[

MsgBox "您确定要关闭浏览器吗?",vbSystemModal51Testing软件测试网*FF @v @t v

End Sub51Testing软件测试网a [%N1w ZJb6I;CK~

这段脚本打开了一个IE窗口,然后要求你关闭IE窗口,当你关闭窗口的时候,自动调用事件响应程序。51Testing软件测试网`QQ#Mk&[


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-03  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 58194
  • 日志数: 103
  • 图片数: 4
  • 文件数: 2
  • 建立时间: 2007-05-20
  • 更新时间: 2010-11-23

RSS订阅

Open Toolbar