共用方式為


Visio) (MouseEvent.KeyButtonState 屬性

傳回滑鼠按鍵的狀態,以及與滑鼠事件相關聯的 SHIFT 和 CTRL 鍵。 唯讀。

語法

expressionKeyButtonState

表達 代表 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 支援與意見反應