TrayIcon

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Егор
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 27.06.2003 (Пт) 7:24
Откуда: Сургут

TrayIcon

Сообщение Егор » 02.07.2003 (Ср) 10:40

Как чтоб прога в Tray засунулась!?
"BASIC-программисты - люди меченые,
путём насилия или подкупа нас можно
заставить работать на другом языке,
но думать-то мы всё равно будем
на BASIC..."

Urvin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 518
Зарегистрирован: 04.06.2003 (Ср) 10:47
Откуда: с Марса

Сообщение Urvin » 02.07.2003 (Ср) 11:16

смотри факи на vbrussian.com
Не так страшен русский танк, как его пьяный экипаж

net
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 08.07.2003 (Вт) 10:31
Откуда: Ялта/Ukraine

Сообщение net » 16.07.2003 (Ср) 2:04

Сам долго парился,и решил сделать всё с помощью винАПИ:

Private Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias _
"Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long

Private Const NIM_ADD = &H0
Private Const NIM_MODIFY = &H1
Private Const NIM_DELETE = &H2
Private Const NIF_MESSAGE = &H1
Private Const NIF_ICON = &H2
Private Const NIF_TIP = &H4

Private Const WM_MOUSEMOVE = &H200
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

Dim IconData As NOTIFYICONDATA


в формлоаде:

Picture1.Visible = False
Private Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias _
"Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long

Private Const NIM_ADD = &H0
Private Const NIM_MODIFY = &H1
Private Const NIM_DELETE = &H2
Private Const NIF_MESSAGE = &H1
Private Const NIF_ICON = &H2
Private Const NIF_TIP = &H4

Private Const WM_MOUSEMOVE = &H200
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 Form_Unload(Cancel As Integer)
' Удаляем иконку из трея
IconData.cbSize = Len(IconData)
IconData.hWnd = Picture1.hWnd
IconData.uId = 1&
Shell_NotifyIcon NIM_DELETE, IconData
End Sub




Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
' События, связанные с иконкой можно узнать по координате X
If X / Screen.TwipsPerPixelX = WM_LBUTTONDOWN Then _
чё-нибудь
If X / Screen.TwipsPerPixelX = WM_RBUTTONUP Then _
чё-нибудь
End Sub

Yuri_S
Обычный пользователь
Обычный пользователь
 
Сообщения: 97
Зарегистрирован: 17.07.2003 (Чт) 20:12
Откуда: Kiev,Ukraine

Вот еще вариант, хотя не мой, но работает тоже

Сообщение Yuri_S » 24.07.2003 (Чт) 20:08

'КОД МОДУЛЯ
Declare Function Shell_NotifyIconA Lib "SHELL32" (ByVal dwMessage As_ Long, lpData As NOTIFYICONDATA) As Integer
Public Const NIM_ADD = 0
Public Const NIM_MODIFY = 1
Public Const NIM_DELETE = 2
Public Const NIF_MESSAGE = 1
Public Const NIF_ICON = 2
Public Const NIF_TIP = 4
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

Public Function SetTrayIcon(Mode As Long, hWnd As Long, Icon As Long,_ tip As String) As Long
Dim nidTemp As NOTIFYICONDATA
nidTemp.cbSize = Len(nidTemp)
nidTemp.hWnd = hWnd
nidTemp.uID = 0&
nidTemp.uFlags = NIF_ICON Or NIF_TIP
nidTemp.uCallbackMessage = 0&
nidTemp.hIcon = Icon
nidTemp.szTip = tip & Chr$(0)
SetTrayIcon = Shell_NotifyIconA(Mode, nidTemp)
End Function

'КОД ФОРМЫ
'Запусти программу. Иконка появится в трее.
Private Sub Form_Load()
SetTrayIcon NIM_ADD, Me.hWnd, Me.Icon, "Проверка"
End Sub
Private Sub Form_Unload(Cancel As Integer)
SetTrayIcon NIM_DELETE, Me.hWnd, 0&, ""
End Sub


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 7

    TopList