投稿日 | : 2006/09/27(Wed) 10:16 |
投稿者 | : シーモア |
Eメール | : |
URL | : |
タイトル | : 言い換えますと右クリックメニューを出したくないということです |
何でもいいのでHOTKEY登録をして
HotKeyProc で
If uMsg = WM_LBUTTONDOWN Then
のようにすれば「右クリックをした」という判定はできるのですが
右クリックメニューが表示されてしまいます
HOTKEYを使わないでDirectInputDevice8を用いた方法でも結果は同じです
右クリックしたときに、右クリックメニューを出さない方法はないでしょうか
Public Const WM_RBUTTONDOWN = &H205
Public Sub InitHotkey()
Dim lngResult As Long
glngWndProc = SetWindowLong(frmControl.hwnd, _
GWL_WNDPROC, _
AddressOf HotKeyProc)
lngResult = RegisterHotKey(frmControl.hwnd, 0, 0, WM_LBUTTONDOWN)
End Sub
Public Function HotKeyProc(ByVal hwnd As Long, _
ByVal uMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
On Error GoTo ErrorHandler
If uMsg = WM_LBUTTONDOWN Then
Debug.Print "WM_LBUTTONDOWN" <--ここに入れば右クリックした
End If
HotKeyProc = CallWindowProc(glngWndProc, _
hwnd, _
uMsg, _
wParam, _
lParam)
ErrorHandler:
End Function