Table of contents
Collapse the table of content
Expand the table of content

MouseEvent.KeyButtonState Property (Visio)

office 365 dev account|Last Updated: 6/12/2017
1 Contributor

Returns the state of mouse buttons and the SHIFT and CTRL keys associated with a mouse event. Read-only.


expression . KeyButtonState

expression A variable that represents a MouseEvent object.

Return Value



Possible values for KeyButtonState can be a combination of any of the values shown in the following table, which are declared in VisKeyButtonFlags in the Visio type library. For example, if KeyButtonState returns 9, it indicates that the user clicked the left mouse button while pressing CTRL.

**Constant ****Value **


This class module shows how to define a sink class called MouseListener that listens for events fired by mouse actions in the active window. It declares the object variable vsoWindow by using the WithEvents keyword. The class module also contains an event handler for the MouseDown event that prints to the Immediate window the state of the mouse buttons and CTRL and SHIFT keys when the event fired.

To run this example, insert a new class module in your VBA project, name it MouseListener , and insert the following code in the module.

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

Then, insert the following code in the ThisDocument project.

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

Save the document to initialize the class, and then click anywhere in the active window (optionally, while pressing SHIFT and/or CTRL) to fire a MouseDown event. In the Immediate window, the handler prints the name of the mouse button that was clicked to fire the event. If you pressed either or both of the keys, the name of the key or keys you pressed will print as well.

© 2018 Microsoft