Помогите: Засунул в тулбар я иконку: | Код | Public Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean 'Константы для добавления, удаления и модификации вашей икноки: Public Const NIM_ADD = 0 Public Const NIM_MODIFY = 1 Public Const NIM_DELETE = 2 'Константы ответственные за события происходящие внутри границ иконки, расположенной в Traybar: Public Const WM_MOUSEMOVE = &H200 Public Const NIF_MESSAGE = 1 Public Const NIF_ICON = 2 Public Const NIF_TIP = 4 'Константы ответственные за события поведения мышки происходящие внутри границ иконки, ' расположенной в Traybar: ': Public Const WM_LBUTTONDOWN = &H201 Public Const WM_LBUTTONUP = &H202 Public Const WM_LBUTTONDBLCLK = &H203 'Для правой клавиши мышки: Public Const WM_RBUTTONDOWN = &H204 Public Const WM_RBUTTONUP = &H205 Public Const WM_RBUTTONDBLCLK = &H206 'Для средней клавиши мышки: Public Const WM_MBUTTONDOWN = &H207 Public Const WM_MBUTTONUP = &H208 Public Const WM_MBUTTONDBLCLK = &H209 'Объявляем переменную определяемую пользователем: 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
Это в форму:
'На форме в разделе General объявляем переменную определенную как тип пользователя: Dim nid As NOTIFYICONDATA
Private Sub Form_Load() ' Добавить иконку формы в Traybar nid.cbSize = Len(nid) nid.hWnd = Form1.hWnd nid.uID = vbNull nid.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE nid.uCallbackMessage = WM_MOUSEMOVE nid.hIcon = Form1.Icon 'При наведении курсора на Иконку, выдвинется текст: "Чо пялишься?": nid.szTip = "Чо пялишься?" & vbNullChar Shell_NotifyIcon NIM_ADD, nid End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 'Объявляем переменные:
Dim msg As Long Dim sFilter As String
msg = X / Screen.TwipsPerPixelX Select Case msg Case WM_LBUTTONDOWN 'Сюда ты можешь вставить код, который захчешь: MsgBox "Нажата левая кнопка мыши(Нажата)"
Case WM_LBUTTONUP 'Сюда ты можешь вставить код, который захчешь: MsgBox "Нажата левая кнопка мыши(Отжата)" Case WM_LBUTTONDBLCLK 'Сюда ты можешь вставить код, который захчешь: MsgBox "Ты кликнул 2 раза по ИКОНКЕ(Левой кнопкой)" Case WM_RBUTTONDOWN 'Сюда ты можешь вставить код, который захчешь: 'Обычно это PopupMenu: MsgBox "Нажата правая кнопка мыши(Нажата)" Case WM_RBUTTONUP 'Сюда ты можешь вставить код, который захчешь: MsgBox "Нажата левая кнопка мыши(Отжата)" Case WM_RBUTTONDBLCLK 'Сюда ты можешь вставить код, который захчешь: MsgBox "Ты кликнул 2 раза по ИКОНКЕ(Правой кнопкой)" End Select End Sub
|
Где предлагают вставить PopupMenu ('Сюда ты можешь вставить код, который захчешь:'Обычно это PopupMenu:) Вставляю: frmMain.PopupMenu popup_main _ Всё чики-пуки, но попап открывается и так и остаётся, как форма, если кликнуть по пустому месту экрана она не убирается :-((((((((( Помогите, пожайлуста! Заранее благодарен!
|