- 日時: 2021/03/23 17:18
- 名前: 魔界の仮面弁士
- ***********************************************************************************
* カテゴリー:[マウス][][] * キーワード: , , , , , ***********************************************************************************
タイトル:マウスの左ボタンと右ボタン制御の交換 記 事 No:16604 投 稿 日:2021/03/22(Mon) 22:05 元質問者:マイメモリー
教えて下さい。 マウスの左ボタンと右ボタンで行っていた制御を一時的に交換したいのですが、どのようにプログラムすれば宜しいのでしょうか。
----------------------------------------------------------------------------------- ボタンの入替は、コントロール パネルの マウスのプロパティ で 設定できます。それをプログラムから呼び出すために、 SystemParametersInfo API で、定数 SPI_SETMOUSEBUTTONSWAP を呼び出します。
現在の取得もできるよう、ここではプロパティとして実装しています。
Option Explicit
#If VBA7 Then Private Declare PtrSafe Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoW" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long Private Declare PtrSafe Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long #Else Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoW" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long #End If
Public Property Let SwapMouseButton(bool As Boolean) Const SPI_SETMOUSEBUTTONSWAP As Long = 33& SystemParametersInfo SPI_SETMOUSEBUTTONSWAP, IIf(bool, 1&, 0&), ByVal 0&, ByVal 1& End Property
Public Property Get SwapMouseButton() As Boolean Const SM_SWAPBUTTON As Long = 23& SwapMouseButton = CBool(GetSystemMetrics(SM_SWAPBUTTON)) End Property
|