一个控件从同一窗体的另一个控件实际接收到焦点之前,Enter 事件发生。同一窗体中的一个控件即将把焦点转移到另一个控件之前,Exit 事件发生。
语法
Private Sub object_Enter( )怎样炒板栗
Private Sub object_Exit( ByVal Cancel As MSForms.ReturnBoolean)
Enter 和 Exit 事件的语法包含以下成分:
成分 | 说明 |
object | 必需。一个有效的对象名。 |
Cancel | 必需。事件状态。Fal 表示由该控件处理这个事件(这是默认方式)。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 事件的语法包含以下成分:
说明
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 A
s fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)
BeforeDragOver 事件的语法包含以下成分:
成分 | 说明 |
object | 必需。一个有效的对象名。 |
index | 必需。受拖放操作影响的多页控件中页面的索引。 |
微软认证Cancel | 必需。事件状态。Fal 表示由控件处理该事件(这是默认方式);True 表示由应用程序处理该事件。 |
ctrl | 必需。拖动正在经过的控件。 |
Data | 必需。在拖放操作中被拖动的数据。该数据被打包在 DataObject 中。 |
X, Y | 必需。控件位置的横坐标和纵坐标。这两个坐标都以磅为单位。X 从该控件的左边开始测量;Y 从该控件的顶部开始测量。 |
DragState | 必需。被拖动数据的转移状态。 |
Effect | 必需。放置源所支持的操作。 | 生活小贴士
Shift | 必需。指定 Shift、Ctrl 和 Alt 的状态。 |
| |
设置
DragState 的设置如下:
常量 | 值 | 说明 |
fmDragStateEnter | 0 | 鼠标指针在目标范围之内。 |
fmDragStateLeave | 1 | 鼠标指针在目标范围之外。 |
fmDragStateOver | 2 | 鼠标指针在一个新的位置,但仍在同一目标范围内。 |
| | |
Effect 的设置如下:
常量 | 值 | 说明 |
fmDropEffectNone | 0 | 不将放置源复制或移动到放置目标。 |
fmDropEffectCopy | 1 | 将放置源复制到放置目标。 |
fmDropEffectMove | 2 | 将放置源移动到放置目标。 |
fmDropEffectCopyOrMove | 3 | 将放置源复制或移动到放置目标。 |
| | |
Shift 的设置如下:
太行大峡谷风景区
常量 | 值 | 说明 |
fmShiftMask | 1 | 按下 Shift。 |
fmCtrlMask | 2 | 按下 Ctrl。 |
fmAltMask | 4 | 按下 Alt。 |
| | |
说明
当鼠标指针直接进入、离开或停留在一个有效的目标上时,用该事件监视鼠标指针。执行拖放操作过程中,当用户移动鼠标、按下或释放鼠标键(单个或多个键)时,系统初始化该事件。鼠标指针的位置决定了接收这一事件的目标对象。可以通过检查 DragState 参数来确定鼠标指针的状态。
当一个控件处理该事件时,可用 Effect 参数标识要执行的拖放动作。当 Effect 设置为 fmDropEffectCopyOrMove 时,放置源支持复制 (fmDropEffectCopy)、移动 (fmDropEffectMove) 或取消 (fmDropEffectNone) 操作。
当 Effect 被设置为 fmDropEffectCopy 时,放置源支持复制或取消 (fmDropEffectNone) 操作。
当 Effect 设置为 fmDropEffectMove 时,放置源支持移动或取消 (fmDropEffectNone) 操作。
当 Effect 设置为 fmDropEffectNone 时,放置源支持取消操作。