tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
マウスの左右のボタンを入れ替える (VB6 / VBA) ( No.0 )  [親スレッドへ]
日時: 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



 [スレッド一覧へ] [親スレッドへ]