为了响应用户的操作,需要调用相应的对象的事件。每个对象有不同的事件,各个对象的事件又有不同的事件。调用事件的方法很简单,如果是想调用对象的Click(鼠标单击)事件,可以在【设置模式】下双击该对象,即可显示代码窗口,允许用户输入其中输入事件的执行代码。在代码窗口中,也可以在【对象】列表框中选择需要的对象后,在【过程】列表框中选择需要的事件。如图12-9 所示。
关于各个对象的具体事件不再一一叙述,下面以为窗体中的【关闭文档】按钮添加Click 事件和为文字框添加LostFocus 事件为例,介绍如何为对象添加基本的事件。在窗体中,文字框是用来输入姓名的,为文字框添加LostFocus 事件,可以在用户输入姓名完毕后,当焦点转到其他控件时,文字框失去焦点。产生LostFocus 事件的步骤为:
(1)在代码窗口中,在【对象】列表框中选择TextBox1。
(2)在【过程】列表框中选择LostFocus。
(3)输入代码,如下所示:
Private Sub TextBox1_LostFocus()
MsgBox TextBox1.Text, vbOKOnly, "你的姓名是:"
'显示一个消息框,显示用户刚输入的文字
End Sub
为【关闭文档】按钮添加事件的步骤如下:
(1)在代码窗口中,在【对象】列表框中选择CommandButton2。
(2)在【过程】列表框中选择Click。
(3)输入代码,如下所示:
Private Sub CommandButton2_Click()
Dim Msg, Style, Title, Help, Ctxt, Response, MyString
Msg = "你真的要关闭本文档,不要后悔啊 ?" ' 定义信息。
Style = vbYesNo + vbQuestion + vbDefaultButton2 ' 定义按钮。
Title = "确认关闭文档" ' 定义标题。
Help = "" ' 定义帮助文件,为空。
Ctxt = ' 定义标题,为空' 上下文。
' 显示信息。
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then ' 用户按下“是”。
WordBasic.FileClose ' 完成某操作。
Else ' 用户按下“否”。
End If
通过对事件的引用,就大大增强了Word 窗体的交互性。当用户在文字框输入“笑嘻嘻”后转移焦点时,会显示如图12-10 所示的【你的姓名是:】对话框,当单击【关闭文档】按钮时,会显示【确认关闭文档】对话框,如图12-10 所示。用户单击【是】按钮,将关闭该文档,如果窗体还没有保存,会提示用户保存窗体;单击【否】按钮,将返回 文档。