Страница: 1 |
Вопрос: Иконка в трэе | Добавлено: 25.02.06 21:07 |
Автор вопроса: ![]() |
Как разместить иконку в трэй и сделать так, что бы какая-то процедура запускалась при двойном клике на эту иконку? P.S. И как эту иконку оттуда убрать? |
Ответы | Всего ответов: 4 |
Номер ответа: 1 Автор ответа: ![]() ![]() ICQ: 254226129 Вопросов: 30 Ответов: 107 |
Профиль | Цитата | #1 | Добавлено: 25.02.06 21:16 |
Насчёт иконки в трэе на этом сайте немеренно примеров, походи по примерам и по библиотеке кодов! |
Номер ответа: 2 Автор ответа: ![]() ![]() ICQ: 237822510 Вопросов: 28 Ответов: 1182 |
Профиль | Цитата | #2 | Добавлено: 25.02.06 21:22 |
Ну учебники то читай. Хотябы от А.Волкова и Климова. |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 329195567 Вопросов: 52 Ответов: 67 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 26.02.06 23:45 |
http://vbnet.ru/forum/show.aspx?id=99428
На те ссылка я уже оставлял на форуме объву!!! |
Номер ответа: 4 Автор ответа: ![]() ![]() Вопросов: 45 Ответов: 1212 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 27.02.06 20:08 |
Создайте модуль:
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 Public Const WM_MOUSEMOVE = &H200 Public Const NIF_MESSAGE = 1 Public Const NIF_ICON = 2 Public Const NIF_TIP = 4 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 В форме объявите: Dim nid As NOTIFYICONDATA Использование: На форме, в процедуру события Form_MouseMove вставляем следующий код 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 'Здесь можете вставить тот код который вы хотите. Case WM_LBUTTONUP 'Здесь можете вставить тот код который вы хотите. Case WM_LBUTTONDBLCLK 'Здесь можете вставить тот код который вы хотите. Case WM_RBUTTONDOWN 'Здесь можете вставить тот код который вы хотите. 'Например PopupMenu Case WM_RBUTTONUP 'Здесь можете вставить тот код который вы хотите. Case WM_RBUTTONDBLCLK 'Здесь можете вставить тот код который вы хотите. End Select Для добавления, модификации или удаления иконки применяются следующий код ' Добавить иконку формы в 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 = "Test" & vbNullChar Shell_NotifyIcon NIM_ADD, nid ' Изменить иконку и tooltip nid.hIcon = Form1.Icon nid.szTip = "New Icon" & vbNullChar Shell_NotifyIcon NIM_MODIFY, nid ' Удалить иконку из Traybar , обычно вставляется в процедуру события Terminate (на форме) Shell_NotifyIcon NIM_DELETE, nid |
Страница: 1 |
|