可以在picturebox的mousemove事件中判斷鼠標左右鍵是否單擊,以顯示窗體或彈出菜單
Option Explicit
Private Type NOTIFYICONDATA
cbSize As Long
hWnd As Long
uId As Long
uFlags As Long
ucallbackMessage As Long
hIcon As Long
szTip As String * 64
End Type
Private Const NIM_ADD = &H0 '添加圖標
Private Const NIM_MODIFY = &H1 '修改圖標
Private Const NIM_DELETE = &H2 '刪除圖標
Private Const WM_MOUSEMOVE = &H200 ’鼠標有效
Private Const NIF_MESSAGE = &H1 'message 有效
Private Const NIF_ICON = &H2 '圖標操作(添加、修改、刪除)有效
Private Const NIF_TIP = &H4 'ToolTip(提示)有效
Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
Dim t As NOTIFYICONDATA
Private Sub Form_Load()
t.cbSize = Len(t)
t.hWnd = Picture1.hWnd
t.uId = 1&
t.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
t.ucallbackMessage = WM_MOUSEMOVE
t.hIcon = Picture1.Picture
t.szTip = "Show MY Icons" & Chr$(0)
Shell_NotifyIcon NIM_ADD, t
Me.Hide
App.TaskVisible = False
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
Me.Show
End If
End Sub
’好辛苦,給點分吧