Event.SetFilterActions 方法 (Visio)

指定对 Visio 报告的 MouseMove 事件的扩展。

语法

expressionSetFilterActions( _filterActionStream()_ )

表达 返回 Event 对象的表达式。

参数

名称 必需/可选 数据类型 说明
filterActionStream () 必需 Long 操作/值对的数组。 有关详细信息,请参阅“备注”。

返回值

Nothing

注解

SetFilterActions 方法提供了根据扩展类型忽略所选的 MouseMove 事件扩展的方式。 扩展类型取决于作为拖放操作一部分的鼠标操作,如下表所示。 默认情况下,Visio 报告所有事件扩展的触发。

filterActionStream 参数是按以下方式定义的数组。 filterActionStream 中的元素个数为 3 的倍数:

  • 第一个元素包含开始鼠标操作 (MouseMove 事件扩展) 范围 (VisFilterActions) 的任何成员。

  • 第二个元素包含结束鼠标操作 (MouseMove 事件扩展) 范围 (VisFilterActions 的任何成员的值高于第一个元素) 。

  • 第三个元素包含 TrueFalse 值,指示是否侦听该动作范围的事件(True 表示侦听特定子类型的事件或 MouseMove 事件扩展;False 表示排除子类型事件)。

可以放置在每三个元素一组的第一个和第二个数组元素中的筛选操作都在 VisFilterActions 枚举中定义,该枚举在 Visio 类型库中声明,如下表所示。

常量 Description
visFilterMouseMoveDragBegin 1 筛选 MouseMove 事件的 DragBegin 扩展。
visFilterMouseMoveDragDrop 5 筛选 MouseMove 事件的 DragDrop 扩展。
visFilterMouseMoveDragEnter 2 筛选 MouseMove 事件的 DragEnter 扩展。
visFilterMouseMoveDragLeave 4 筛选 MouseMove 事件的 DragLeave 扩展。
visFilterMouseMoveDragOver 3 筛选 MouseMove 事件的 DragOver 扩展。
visFilterMouseMoveNoDrag 0 不要筛选 MouseMove 事件的任何扩展。

例如,如果希望侦听除 DragOver 事件扩展以外的所有 MouseEvent 扩展,则可以建立一个如下的数组:

Dim alngFilterActions(1 to 1 * 3) As Long  
    alngFilterActions(1) = visFilterMouseMoveDragDrop  
    alngFilterActions(2) = visFilterMouseMoveDragDrop  
    alngFilterActions(3) = False 

或者,如果只侦听 DragEnter 事件扩展,忽略之前之后的鼠标操作,则建立一个如下的数组:

Dim alngFilterActions(1 To (3 * 3)) As Long  
 
    'Listen to the "DragEnter" mouse action.  
    alngFilterActions(1) = visFilterMouseMoveDragEnter  
    alngFilterActions(2) = visFilterMouseMoveDragEnter   
    alngFilterActions(3) = True  
 
    'Ignore any mouse actions before "DragEnter."   
    alngFilterActions(4) = visFilterMouseMoveDragBegin  
    alngFilterActions(5) = visFilterMouseMoveDragEnter  - 1  
    alngFilterActions(6) = False  
 
    'Ignore any mouse actions after "DragEnter."   
    alngFilterActions(7) = visFilterMouseMoveDragEnter + 1  
    alngFilterActions(8) = visFilterMouseMoveDragDrop  
    alngFilterActions(9) = False 
 

请注意,在三个一组的数组元素中占据第二个位置的鼠标操作在顺序中必须总是比那些占据第一个位置的鼠标操作要靠后(即值较大)。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。