Вопрос № 177015: Уважаемые Знатоки(Эксперты)! Поясните пож-та, возможно ли средствами VB 6.0 при старте свернуть проект в панель быстрого запуска, для задачи пакетной обработки и с помощью наведения курсора, на пиктограмму получить всплывающее окно со статистикой выч...
Вопрос № 177015:
Уважаемые Знатоки(Эксперты)! Поясните пож-та, возможно ли средствами VB 6.0 при старте свернуть проект в панель быстрого запуска, для задачи пакетной обработки и с помощью наведения курсора, на пиктограмму получить всплывающее окно со статистикой вычисляемой в этом же проекте. Рекомендуемое для этого свойство формы ShowInTaskBar=false в режиме Run Time - не работает, а использование его в режиме разработки сворачивает проект только в панель задач. Если нет, то к какой функции API- можно обратиться? Благодарю!
Отвечает Благодарев Евгений Сергеевич, 1-й класс :
Эта область называется не "панель быстрого запуска" а "Область уведомления" (Tray).
http://www.nestor.minsk.by/kg/2003/19/kg31904.html - вот тут грамотный, хорошо расписанный пример. http://forum.sources.ru/index.php?act=Attach&type=post&id=507569 - тут пример ocx для этой цели.
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 259848
на номер 1151 (Россия) |
Еще номера »
Отвечает Vasiliy83, Бакалавр :
Здравствуйте, Pencho R.O.. Вот рабочий код именно для VB 6.0
TrayIcon.cls:
Код:
'********************************************************************* '* TrayIcon * '* Библиотека для работы
с SystemTray * '*-------------------------------------------------------------------* ' ' Ивенты: ' OnIcon ( MouseButton as integer ) ' ; генерируется при действии над иконкой в трее. ' ; MouseButton соответствует - Enum TRAYICON_MOUSE_*. ' Свойства: ' hWnd (Long) ; hWnd окна, к которому привязана иконка ' Icon (Long) ; у
казатель на иконку. Иконка должна быть 16 цветная. ' ToolTipText ; всплывающий текст ' ' Методы: ' Add ( ) ; добавление иконки в трей. Заранее нужно установить все свойства. ' Modify ( ) ; изменение иконки в трее. ' Delete ( ) ; удаление иконки из трея ' CallEvent ( X as single, Y as single ) ' ; вызывается из Form_MouseDown, ей передаются значения X и Y ' '--------------------------------------------------------------------- '
Version 0.90 Beta * Copyright (с) А.Щербаков * May 17, 2000 '********************************************************************* Option Explicit
'декларация функций Win32API Private Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long Private Declare Function
SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
'константы и структуры Win32API Private Const NIF_MESSAGE = &H1 Private Const NIF_ICON = &H2 Private Const NIF_TIP = &H4 Private Const NIM_ADD = &H0 Private Const NIM_MODIFY = &H1 Private Const NIM_DELETE
= &H2 Private Const WM_RBUTTONDOWN = &H204 Private Const WM_NULL = &H0 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 NID As NOTIFYICONDATA
'переменные и структуры модуля Private m_hWnd As Long Private m_Icon As Long Private m_ToolTipText As String Public Enum TrayIcon_Mouse TRAYICON_MOUSE_NONE = 0 TRAYICON_MOUSE_LEFTDOWN = 1 TRAYICON_MOUSE_LEFTUP = 2 TRAYICON_MOUSE_LEFTDBLCLICK = 3 TRAYICON_MOUSE_RIGHTDOWN = 4 TRAYICON_MOUSE_RIGHTUP = 5 TRAYICON_MOUSE_RIGHTDBLCLICK = 6 End Enum
'ивенты
Public Event OnIcon(MouseButton As Integer)
'--------------------------------------------------------------------- ' Свойства
'получить свойство hWnd Public Property Get hwnd() As Long hwnd = m_hWnd End Property
'присвоить свойство hWnd Public Property Let hwnd(ByVal NewValue As Long) m_hWnd = NewValue End Property
'получить свойство Icon Public Property Get Icon() As Lo
ng Icon = m_Icon End Property
'присвоить свойство Icon Public Property Let Icon(ByVal NewValue As Long)
m_Icon = NewValue End Property
'получить свойство ToolTipText Public Property Get ToolTipText() As String ToolTipText = m_ToolTipText End Property
'присвоить свойство ToolTipText Public Property Let ToolTipText(ByVal NewValue As String) m_ToolTipText = NewValue End Property
'--------------------------------------------------------------------- ' Методы
'добавление иконки в Tray Public Sub Add() Dim ret As Long
'процедура нажатия на кнопку минимизации Private Sub cmdMin_Click() Set cTray = New TrayIcon 'хендл окна cTray.hwnd = hwnd 'иконка, что будет отображена в трее cTray.Icon = frmIco.Icon
'тултипс (всплывающая подсказка) cTray.ToolTipText = "
Текст подсказки"
'создаем иконку cTray.Add Me.Visible = False End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'передаем данные в объект cTray.CallEvent X, Y
End Sub Private Sub cTray_OnIcon(MouseButton As Integer) 'левый двойной клик If MouseButton = TRAYICON_MOUSE_LEFTDBLCLICK Then Me.Visible = True Me.Hide Me.Show
MouseButton = TRAYICON_MOUSE_RIGHTDOWN End If End Sub
Ответ отправил: Vasiliy83, Бакалавр
Ответ отправлен: 02.03.2010, 23:24
Номер ответа: 259854
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 259854
на номер 1151 (Россия) |
Еще номера »
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.