Event.SetFilterActions メソッド (Visio)

Visio が報告する MouseMove イベントの拡張を指定します。

構文

SetFilterActions( _filterActionStream()_ )

Event オブジェクトを返す式。

パラメーター

名前 必須 / オプション データ型 説明
filterActionStream() 必須 Long 操作と値の組の配列です。 詳細については、「備考」を参照してください。

戻り値

なし

解説

SetFilterActions メソッドによって、拡張の種類に基づいて選択した MouseMove イベントの拡張を無視することができます。 下の表に示すように、拡張の種類は、ドラッグ アンド ドロップ操作の一部であるマウス操作に基づいています。 既定では、Visio はすべてのイベント拡張機能の起動を報告します。

filterActionStream パラメーターは、次のように定義される配列です。 filterActionStream の要素の数は 3 の倍数です。

  • 最初の要素には、範囲 (VisFilterActions の任意のメンバー) の開始マウス アクション (MouseMove イベント拡張) が含まれています。

  • 2 番目の要素には、範囲 (値が 1 番目の要素よりも大きい VisFilterActions のメンバー) のマウスの終了アクション (MouseMove イベント拡張) が含まれています。

  • 3 番目の要素には、その操作範囲のイベントを待機するかどうかを示す、True または False 値が含まれます。True の場合は、特定のサブタイプのイベント、または MouseMove イベント拡張を待機し、False の場合は、イベント サブタイプを除外します。

3 つ組の各要素の第 1 配列要素と第 2 配列要素に入れることができるフィルター操作は、VisFilterActions 列挙で定義されています。この列挙は、Visio タイプ ライブラリで宣言されます。この列挙を次の表に示します。

定数 説明
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 
 

3 つ組の配列要素の 2 番目の位置を占めるマウス操作は、必ず、3 つ組の配列要素の最初の位置を占めるマウス操作より後になります (つまり値がより大きい)。

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。