webForumDet fria alternativet

Ikon vid "klockan"?!

.NETur .NET

8 svar · 572 visningar · startad av erik_nordell

Medlem sedan aug. 2000431 inlägg
Frågan#1

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!

Medlem sedan feb. 20011 198 inlägg
#2

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]}

Medlem sedan feb. 200112 078 inlägg
#3

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:<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

:q

------------------
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence

[Redigerat av OveRRidE den 06 aug 2001]

[Redigerat av OveRRidE den 06 aug 2001]

Medlem sedan dec. 19991 072 inlägg
#4

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:<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 för att lägga till ikonen:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">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

...och lite kod för att ta bort den efter sig:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">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

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/

Medlem sedan feb. 200112 078 inlägg
#5

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

Medlem sedan aug. 2000431 inlägg
#6

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....

?!?!

Medlem sedan jan. 2002414 inlägg
#7

fönsternamn.zorder = "0"

Medlem sedan aug. 2000431 inlägg
#8

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

Medlem sedan dec. 200110 inlägg
#9

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

127 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)