View Full Version : Ikon vid "klockan"?!
erik_nordell
2001-07-09, 12:59
Hur får jag en ikon bredvid klockan i aktivitetsfältet?!
Tex så som icq har?!
Hur gör man detta?!
------------------
Erki Nörd!
http://www.Tapiren.net - Din COMMUNITY PÅ intErnET.
Verktygsladan.com - för dig som vill ha gratis forum, gästbok mm utan reklam!
du får använda api..
Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias " Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
Public 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
------------------
"Den som finner han hittar" {[y]}
OveRRidE
2001-08-06, 22:44
Kan nån utveckla det där lite?
Jag är ingen höjdare på VB men jag får ialla fall:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:[/kod]<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
Compile error: Only comments may appear after Sub End, End Function, or End Property
[/kod]
:q
------------------
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence (http://override.has.it)
[Redigerat av OveRRidE den 06 aug 2001]
[Redigerat av OveRRidE den 06 aug 2001]
Du använder API.t på följande sätt.
Först lite deklarationer (alla konstanter används inte här, men de är bra att ha om du ska modda koden).
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:[/kod]<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
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_LBUTTONDBLCLK = &H203
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Const WM_RBUTTONDBLCLK = &H206
Private Const WM_RBUTTONDOWN = &H204
Private Const WM_RBUTTONUP = &H205
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 mtIconData As NOTIFYICONDATA
Dim mnLight As Integer
Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Long
[/kod]
Kod för att lägga till ikonen:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:[/kod]<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
With mtIconData
.cbSize = Len(mtIconData)
.hWnd = Me.hWnd
.uCallbackMessage = WM_MOUSEMOVE
.uID = 1&
.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
.hIcon = imgTrayIcon(0).Picture
.szTip = "Text..." & Chr$(0)
If Shell_NotifyIcon(NIM_ADD, mtIconData) = 0 Then
MsgBox "Kunde inte lägga till ikonen i sysTray!"
End If
End With
[/kod]
...och lite kod för att ta bort den efter sig:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:[/kod]<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
If Shell_NotifyIcon(NIM_DELETE, mtIconData) = 0 Then
MsgBox "Kunde inte ta bort ikonen från sysTray!"
End If
[/kod]
Den ikonen som ska visas lägger du i en picture-box som du förslagsvis gör "visible=false". Picture-boxen ska heta imgTrayIcon och ha index 0. Det du skriver efter "szTip" blir den text som står när du håller musen över ikonen.
------------------
Fredrik Klarqvist
f.klarqvist@spray.se
http://server.webwerkstaden.se/fredde/ (http://server.webwerkstaden.se/fredde/default.asp)
OveRRidE
2001-08-07, 11:59
Tack!
Jag skall hem o testa när jag jobbat klart.
Får inte leka på jobbitd för chefen :e
------------------
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence (http://override.has.it)
erik_nordell
2002-04-04, 19:09
det fungerar bra...
men jag har lite fler frågor =)
hur gör man för att "mitt program" ska öppnas när jag klickar på ikonen? dvs... så programmet får focus typ....
?!?!
Picklezz
2002-04-10, 16:43
fönsternamn.zorder = "0"
erik_nordell
2002-05-01, 15:15
Får det inte att funka....
ser ut såhär:
Private Sub Command3_Click()
If Shell_NotifyIcon(NIM_DELETE, mtIconData) = 0 Then
End If
With mtIconData
.cbSize = Len(mtIconData)
.hWnd = Me.hWnd
.uCallbackMessage = WM_MOUSEMOVE
.uID = 1&
.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
.hIcon = imgTrayIcon(1).Picture
.szTip = "Du är inloggad som erik_nordell" & Chr$(0)
Form1.ZOrder = "0"
If Shell_NotifyIcon(NIM_ADD, mtIconData) = 0 Then
End If
End With
End Sub
Me.ZOrder (0) ska det visst vara istället
jag använde bara Me.SetFocus men zorder verkar mycket bättre :) tack för tipset
vBulletin® v3.8.6, Copyright ©2000-2013, Jelsoft Enterprises Ltd.