Excel全部窗体事件详解_值得收藏.

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一个控件从同一窗体的另一个控件实际接收到焦点之前,Enter 事件发生。同一窗体中的一个控件即将把焦点转移到另一个控件之前,Exit 事件发生。

语法

Private Sub object_Enter( )

Private Sub object_Exit( ByVal Cancel As MSForms.ReturnBoolean)

Enter和Exit事件的语法包含以下成分:

成分说明

object必需。一个有效的对象名。

Cancel必需。事件状态。False表示由该控件处理这个事件(这是默认方式)。True表示由应用程序处理这个事件,并且焦点应当留在当前

控件上。

说明

Enter 事件和 Exit 事件与 Visual Basic 中的 GotFocus 和 LostFocus 事件类似。与 GotFocus 和LostFocus 事件不同的是,当窗体接收或失去焦点时 Enter 事件和 Exit 事件不发生。

例如,假如选中了可初始化 Enter 事件的复选框,而后如又选中同一窗体中的另一个控件,那么对于该复选框来说,Exit 事件被初始化(因为焦点正在移到同一窗体中的不同对象上),而对于该窗体中的第二个控件来说,Enter 事件发生。

因为 Enter 事件发生在焦点移到一特定控件上之前,所以可用 Enter 事件过程来显示指令。例如,可用一个宏或者事件过程来显示一个小窗体或消息框,标识控件一般所包含的数据类型。

注意将控件 Exit 事件的Cancel参数赋值为True,可防止控件失去焦点。

当将控件插入到窗体、框架或多页控件中的一个页面中时,此事件发生。

语法

对于框架

Private Sub object_AddControl( )

对于多页

Private Sub object_AddControl(index As Long, ctrl As Control)

AddControl事件的语法包含以下成分:

成分说明

object必需。一个有效的对象。

index必需。包含新控件的页面的索引。

ctrl必需。要添加的控件。

说明

在运行时间添加控件时,将发生 AddControl 事件。在设计时间添加控件,或在运行时间初次加载并显示一个窗体时,此事件不会发生。

本事件的默认操作是将控件添加到指定的窗体、框架或者多页中。

Add方法将初始化 AddControl 事件。

在通过用户界面更改了控件中的数据后,此事件发生。

语法

Private Sub object_AfterUpdate( )

AfterUpdate事件的语法包含以下成分:

成分说明

object必需。一个有效的对象。

说明

AfterUpdate 事件的发生与该控件是否被绑定(即通过RowSource属性为该控件指定一个数据源)无关。这个事件不能被取消。若要取消这次更改(恢复控件原来的值),请使用 BeforeUpdate 事件,并将参数Cancel设置为True。

对于当前控件来说,AfterUpdate 事件发生在 BeforeUpdate 事件之后,Exit 事件之前。对于Tab 键顺序中的下一个控件来说,AfterUpdate 事件发生在 Enter 事件之前。

当拖放操作正在进行时该事件发生。

语法

对于框架

Private Sub object_BeforeDragOver( ByVal Cancel As MSForms.ReturnBoolean, ctrl As Control, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

对于多页

Private Sub object_BeforeDragOver(index As Long, ByVal Cancel As MSForms.ReturnBoolean, ctrl As Control, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

对于 TabStrip

Private Sub object_BeforeDragOver(index As Long, ByVal Cancel As MSForms.ReturnBoolean, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

对于其他控件

Private Sub object_BeforeDragOver( ByVal Cancel As MSForms.ReturnBoolean, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

BeforeDragOver事件的语法包含以下成分:

成分说明

object必需。一个有效的对象名。

index必需。受拖放操作影响的多页控件中页面的索引。

Cancel必需。事件状态。False表示由控件处理该事件(这是默认方式);

True表示由应用程序处理该事件。

ctrl必需。拖动正在经过的控件。

Data必需。在拖放操作中被拖动的数据。该数据被打包在DataObject 中。

X, Y必需。控件位置的横坐标和纵坐标。这两个坐标都以磅为单位。

X从该控件的左边开始测量;Y从该控件的顶部开始测量。DragState必需。被拖动数据的转移状态。

Effect必需。放置源所支持的操作。

Shift必需。指定 Shift、Ctrl 和 Alt 的状态。

设置

DragState的设置如下:

常量值说明

fmDragStateEnter0鼠标指针在目标范围之内。fmDragStateLeave1鼠标指针在目标范围之外。

fmDragStateOver2鼠标指针在一个新的位置,但仍在同一目标范

围内。

Effect的设置如下:

常量值说明

fmDropEffectNone0不将放置源复制或移动到放置目标。fmDropEffectCopy1将放置源复制到放置目标。

相关文档
最新文档