傳回滑鼠按鍵的狀態,以及與滑鼠事件相關聯的 SHIFT 和 CTRL 鍵。 唯讀。
語法
expression。 KeyButtonState
表達 代表 MouseEvent 物件的變數。
傳回值
Long
註解
KeyButtonState的可能值可以是下表所示的任何值組合,這些值是在 Visio 類型程式庫的VisKeyButtonFlags中宣告。 例如,如果 KeyButtonState 傳回 9,表示使用者按下 CTRL 時按一下滑鼠左鍵。
| 常數 | 值 |
|---|---|
| visKeyControl | 8 |
| visKeyShift | 4 |
| visMouseLeft | 1 |
| visMouseMiddle | 16 |
| visMouseRight | 2 |
範例
這個類別模組會示範如何定義名為 MouseListener 的接收類別。 此類別會聆聽由使用中視窗中的滑鼠動作所引發的事件,並使用 WithEvents 關鍵字宣告 vsoWindow 物件變數。 此類別模組還包含 MouseDown 事件的事件處理常式,會在事件觸發時,將滑鼠按鈕以及 CTRL 和 SHIFT 鍵的狀態列印到 [即時運算] 視窗中。
若要執行此範例,請在 VBA 專案中插入新的類別模組、將它命名為 MouseListener,然後在模組中插入下列程式碼。
Dim WithEvents vsoWindow As Visio.Window
Private Sub Class_Initialize()
Set vsoWindow = ActiveWindow
End Sub
Private Sub Class_Terminate()
Set vsoWindow = Nothing
End Sub
Private Sub vsoWindow_MouseDown(ByVal Button As Long, ByVal KeyButtonState As Long, ByVal x As Double, ByVal y As Double, CancelDefault As Boolean)
Debug.Print "KeyButtonState is"; KeyButtonState
End Sub
然後,在 ThisDocument 專案中插入下列程式碼。
Dim myMouseListener As MouseListener
Private Sub Document_DocumentSaved(ByVal doc As IVDocument)
Set myMouseListener = New MouseListener
End Sub
Private Sub Document_BeforeDocumentClose(ByVal doc As IVDocument)
Set myMouseListener = Nothing
End Sub
儲存檔以初始化 類別,然後選擇性地按一下使用中視窗中的任何位置 (,同時按 SHIFT 和/或 CTRL) 以引發 MouseDown 事件。 處理常式會在 [即時運算] 視窗中列印觸發事件時所按的滑鼠按鈕的名稱。 如果也有按下上述兩個按鍵中的一個或兩個都有按下,則所按下的按鍵名稱也會列印。
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。