1,486
社区成员
发帖
与我相关
我的任务
分享
Private Sub mnuFileOpen_Click()
'/* 快捷键及鼠标点击都能执行到
MsgBox "FormMenu Clicked!" & mnuFileOpen.Name
End Sub
Private Function ISubclass_WindowProc(ByVal Hwnd As Long, ByVal iMsg As Long, ByVal wParam As Long, ByVal lParam As Long, Optional bCancel As Boolean = False) As Long
Dim tWinMessage As MSG
Dim lMenuID As Long
Dim oMenuItem As MenuItem
Select Case iMsg
Case WM_COMMAND
If lParam = 0 Then
lMenuID = LOWORD(wParam)
Set oMenuItem = m_oMenuHelper.FindMenuItemByID(lMenuID)
If Not oMenuItem Is Nothing Then
MsgBox "MenuItem(" & oMenuItem.Name & ") Clicked!"
End If
End If
Case WM_SYSKEYUP, WM_KEYUP, WM_KEYDOWN, WM_SYSKEYDOWN
tWinMessage.Hwnd = Hwnd
tWinMessage.message = iMsg
tWinMessage.wParam = wParam
tWinMessage.lParam = lParam
tWinMessage.time = CLng(Now)
TranslateMessage tWinMessage
MsgBox "wParam:" & wParam & ",lParam:" & lParam
Case Else
End Select
End Function
<00318> 00580312 P WM_KEYDOWN nVirtKey:VK_CONTROL cRepeat:1 ScanCode:1D fExtended:1 fAltDown:0 fRepeat:0 fUp:0
<00319> 00580312 P WM_KEYDOWN nVirtKey:'O' cRepeat:1 ScanCode:18 fExtended:0 fAltDown:0 fRepeat:0 fUp:0
<00320> 00580312 P WM_CHAR chCharCode:'15' (15) cRepeat:1 ScanCode:18 fExtended:0 fAltDown:0 fRepeat:0 fUp:0
<00321> 00580312 P WM_KEYUP nVirtKey:'O' cRepeat:1 ScanCode:18 fExtended:0 fAltDown:0 fRepeat:1 fUp:1
<00322> 00580312 P WM_KEYUP nVirtKey:VK_CONTROL cRepeat:1 ScanCode:1D fExtended:1 fAltDown:0 fRepeat:1 fUp:1