|
谢谢版主,有些地方看不懂:
为什么要用一个空白的Form2呢?为什么要用两个AddressOf呢,子程序却是同一个DialogProc
一个是用来接收托盘消息,一个是菜单消息,是这样吗?可以合并起来吗?有点混淆
Private Sub UserForm_Initialize()
......
' 'Start subclassing to process menu messages.
Call MenuBarSubclassing(hWnd)
'将DialogProc函数设置为Form2的窗口处理函数并且保存原来窗口处理函数句柄
lproc = SetWindowLong(Hwnd2, GWL_WNDPROC, AddressOf DialogProc)
End Sub
Private Sub MenuBarSubclassing(ByVal hWnd As Long)
MenuBarOldWndProc = GetWindowLong(hWnd, GWL_WNDPROC) '取得原窗口处理函数句柄
SetWindowLong hWnd, GWL_WNDPROC, AddressOf DialogProc '设置新的窗口处理函数
End Sub |
|