Activate 事件

expandtri全部显示

Activate 事件在窗体报表获得焦点并成为活动窗口时发生。

Private Sub object_Activate()

object    窗体或报表的名称。

说明

注释  如果窗体是在对话框、弹出式窗体或其他窗体后面获得焦点,则 Activate 事件不会发生。

若要在这些事件发生时执行事件过程,请将 OnActivateOnDeactivate 属性设置为宏的名称或 [事件过程]。

激活窗体或报表的方法有好几种,可以将其打开、对其或它上面的控件进行单击,或通过在 Visual Basic 中使用 SetFocus 方法(只对窗体而言)。

Activate 事件只在窗体或报表可见时才能发生。

Activate 事件发生在 GotFocus 事件之前,Deactivate 事件则发生 LostFocus 事件之后。

在两个开启的窗体之间切换时,切换的窗体将发生 Deactivate 事件,而切换到的窗体发生 Activate 事件。如果这两个窗体中没有包含已启用的可见控件,则第一个窗体在发生 Deactivate 事件之前将发生 LostFocus 事件,而第二个窗体在发生 Activate 事件之后发生 GotFocus 事件。

在首次打开窗体时,下列事件按如下顺序发生:

Open → Load → Resize → Activate → Current

当关闭窗体时,下列事件按如下顺序发生:

Unload → Deactivate → Close

可以在 Activate 或 Deactivate 宏中使用 ShowToolbar 操作来显示或隐藏自定义工具栏。当您一次加载多个窗体时,使用 Activate 或 Deactivate 事件可显示或隐藏自定义工具栏。如果一次只加载一个窗体,则可以使用 Open 和 Close 事件。

因为卸载窗体时不会发生 Deactivate 事件,所以,如果使用 Deactivate 宏来隐藏窗体上的自定义工具栏,那么,一定还要隐藏该工具栏以响应窗体的 Unload 事件。由于在包含已启用的控件的窗体上不会触发 GotFocus 或 LostFocus 事件,因此不要使用这些事件来显示或隐藏窗体上的自定义工具栏。

在 Activate 或 Deactivate 宏中,不能使用 CancelEvent 操作。

示例

以下示例说明当窗体获得焦点时如何显示名为 CustomToolbar 的自定义工具栏,以及当焦点移至其他窗口时如何隐藏它。

Private Sub Form_Activate()

' 显示自定工具栏。

DoCmd.ShowToolbar "CustomToolbar", acToolbarYes

End Sub

Private Sub Form_Deactivate()

' 隐藏自定义工具栏。 DoCmd.ShowToolbar "CustomToolbar", acToolbarNo

End Sub Private