マウスのクリックの有無を調べる   メニューへ  ホームへ

前回目的のキーボードが押されたかどうか調査しましたが、
今回はマウスがクリックされたかどうか検出します。
これもゲームソフトなどでよく使う方法で、ループでポーリングします。

検出にはWindowsAPIのGetAsyncKeyStateを使用します。
ここでは、左クリックか右クリックされているかどうか調べ、ESCキーが押されれば終了します。

スポンサードリンク





下記の流れになります。
1)フォーム1のタイトルに「stat」と表示
2)ループでキー入力を調べます。
  ・ESCキーでループから抜けます
  ・左クリック(vbKeyLButton)で「左クリック」と表示します。
  ・右クリック(vbKeyRButton)で「右クリック」と表示します。
  ・キー入力がなければ「なし」と表示します。
3)ループを抜けるとフォーム1のタイトルに「end」と表示




Option Compare Database
Option Explicit

Private Declare Function GetAsyncKeyState Lib "User32.dll" (ByVal vKey As Long) As Long

Public Sub MyMouseClick()
    Dim lkey As Long
    
    Forms!フォーム1.Caption = "start"
    Do Until GetAsyncKeyState(27) <> 0
    
        If GetAsyncKeyState(vbKeyLButton) <> 0 Then
            Forms!フォーム1.Caption = "左クリック"
        ElseIf GetAsyncKeyState(vbKeyRButton) <> 0 Then
            Forms!フォーム1.Caption = "右クリック"
        Else
            Forms!フォーム1.Caption = "なし"
        End If
        DoEvents
    Loop
    Forms!フォーム1.Caption = "end"
End Sub





Access-Access!

Copyright(C) 2008 FeedSoft