При нажатии на кнопку "Закрыть", свернуть программу в трей - VB
Формулировка задачи:
Как можно сделать так, чтобы при нажатии на кнопку "Закрыть", программа сворачивалась в трей? А кликнув правой кнопкой на трей, там меюшка чтобы типо была...
Решение задачи: «При нажатии на кнопку "Закрыть", свернуть программу в трей»
textual
Листинг программы
Option Explicit Dim nid As NOTIFYICONDATA Private Declare Function RegisterWindowMessage Lib "user32" Alias "RegisterWindowMessageA" (ByVal lpString As String) As Long Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean 'ГЉГ®Г*Г±ГІГ*Г*ГІГ» äëÿ äîáГ*âëåГ*ГЁГї, ГіГ¤Г*ëåГ*ГЁГї ГЁ ìîäèôèêГ*öèè ГўГ*ГёГҐГ© ГЁГЄГ*îêè: Private Const NIM_ADD = 0 Private Const NIM_MODIFY = 1 Private Const NIM_DELETE = 2 'ГЉГ®Г*Г±ГІГ*Г*ГІГ» îòâåòñòâåГ*Г*ûå Г§Г* ñîáûòèÿ ïðîèñõîäÿùèå ГўГ*óòðè ГЈГ°Г*Г*ГЁГ¶ ГЁГЄГ®Г*ГЄГЁ, Г°Г*ñïîëîæåГ*Г*îé Гў Traybar: Private Const WM_MOUSEMOVE = &H200 Private Const NIF_MESSAGE = 1 Private Const NIF_ICON = 2 Private Const NIF_TIP = 4 'ГЉГ®Г*Г±ГІГ*Г*ГІГ» îòâåòñòâåГ*Г*ûå Г§Г* ñîáûòèÿ ïîâåäåГ*ГЁГї ìûøêè ïðîèñõîäÿùèå ГўГ*óòðè ГЈГ°Г*Г*ГЁГ¶ ГЁГЄГ®Г*ГЄГЁ, ' Г°Г*ñïîëîæåГ*Г*îé Гў Traybar: ': Private Const WM_LBUTTONDOWN = &H201 Private Const WM_LBUTTONUP = &H202 Private Const WM_LBUTTONDBLCLK = &H203 'Äëÿ ГЇГ°Г*âîé ГЄГ«Г*ГўГЁГёГЁ ìûøêè: Private Const WM_RBUTTONDOWN = &H204 Private Const WM_RBUTTONUP = &H205 Private Const WM_RBUTTONDBLCLK = &H206 'Äëÿ ñðåäГ*ГҐГ© ГЄГ«Г*ГўГЁГёГЁ ìûøêè: Private Const WM_MBUTTONDOWN = &H207 Private Const WM_MBUTTONUP = &H208 Private Const WM_MBUTTONDBLCLK = &H209 'Îáúÿâëÿåì ïåðåìåГ*Г*ГіГѕ îïðåäåëÿåìóþ ïîëüçîâГ*òåëåì: 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 Sub Command1_Click() 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 Command2_Click() nid.hIcon = Form1.Icon nid.szTip = "Г„Г*ðîâ" & vbNullChar Shell_NotifyIcon NIM_MODIFY, nid End Sub Private Sub Command3_Click() Shell_NotifyIcon NIM_DELETE, 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 'ÑþäГ* ГІГ» ìîæåøü ГўГ±ГІГ*ГўГЁГІГј êîä, êîòîðûé Г§Г*õî÷åøü: Print "ГЌГ*Г¦Г*ГІГ* ëåâГ*Гї ГЄГ*îïêГ* ìûøè(ГЌГ*Г¦Г*ГІГ*)" Case WM_LBUTTONUP 'ÑþäГ* ГІГ» ìîæåøü ГўГ±ГІГ*ГўГЁГІГј êîä, êîòîðûé Г§Г*õî÷åøü: Print "ГЌГ*Г¦Г*ГІГ* ëåâГ*Гї ГЄГ*îïêГ* ìûøè(ГЋГІГ¦Г*ГІГ*)" Case WM_LBUTTONDBLCLK 'ÑþäГ* ГІГ» ìîæåøü ГўГ±ГІГ*ГўГЁГІГј êîä, êîòîðûé Г§Г*õî÷åøü: Print "Г’Г» êëèêГ*ГіГ« 2 Г°Г*Г§Г* ГЇГ® ÈÊÎÍÊÅ(Ëåâîé ГЄГ*îïêîé)" Case WM_RBUTTONDOWN 'ÑþäГ* ГІГ» ìîæåøü ГўГ±ГІГ*ГўГЁГІГј êîä, êîòîðûé Г§Г*õî÷åøü: 'Îáû÷Г*Г® ГЅГІГ® PopupMenu: Print "ГЌГ*Г¦Г*ГІГ* ГЇГ°Г*ГўГ*Гї ГЄГ*îïêГ* ìûøè(ГЌГ*Г¦Г*ГІГ*)" Case WM_RBUTTONUP 'ÑþäГ* ГІГ» ìîæåøü ГўГ±ГІГ*ГўГЁГІГј êîä, êîòîðûé Г§Г*õî÷åøü: Print "ГЌГ*Г¦Г*ГІГ* ëåâГ*Гї ГЄГ*îïêГ* ìûøè(ГЋГІГ¦Г*ГІГ*)" Case WM_RBUTTONDBLCLK 'ÑþäГ* ГІГ» ìîæåøü ГўГ±ГІГ*ГўГЁГІГј êîä, êîòîðûé Г§Г*õî÷åøü: Print "Г’Г» êëèêГ*ГіГ« 2 Г°Г*Г§Г* ГЇГ® ÈÊÎÍÊÅ(ГЏГ°Г*âîé ГЄГ*îïêîé)" End Select End Sub Private Sub Form_Terminate() Shell_NotifyIcon NIM_DELETE, nid End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д