Use this simple subroutine to move the mouse/cursor to the center of an object. It’s useful for tab-like functions and default settings:
Private Declare Function SetCursorPos& Lib _ "user32" (ByVal x As Long, ByVal _ y As Long)Private Declare Function GetWindowRect& Lib _ "user32" (ByVal hwnd As Long, lpRect _ As Rect)Private Type Rect left As Long top As Long right As Long bottom As LongEnd TypePublic Sub SetMouseFocus(ByVal Obj As Object) Dim Rect As Rect 'Get the bounding rectangle for window GetWindowRect Obj.hwnd, Rect 'Set the cursor position to the center of the object SetCursorPos Rect.right - ((Rect.right - Rect.left) _ / 2), Rect.bottom - _ ((Rect.bottom - Rect.top) / 2)End Sub
Here’s an example:
Private Sub cmdQuit_Click() ' Move Cursor to command button ' "cmdAreYouSure" SetMouseFocus cmdAreYouSureEnd Sub