Avatar billede blueice Nybegynder
07. november 2005 - 16:34 Der er 3 kommentarer og
1 løsning

Spørgsmål til BallonTip og TrayIcon

Jeg har en form (form1) og et modul(modDeclaration)
og som kalder et trayicon og kan lave ballon tips.
Den viser sådan set fint begge dele, men jeg vil gerne have at der skal udføres en kommando når man klikke på trayiconet og en anden når man klikker på ballonTippet



<--Form1-->
Private Sub Form_Load()

With nf_IconData
        .cbSize = Len(nf_IconData)
        .hWnd = Me.Picture1.hWnd
        .uID = vbNull
        .uFlags = NIF_ICON Or NIF_INFO Or NIF_MESSAGE Or NIF_TIP
        .uCallbackMessage = WM_MOUSEMOVE
        .hIcon = Me.Picture1.Picture
        .szTip = "Tray Tooltip" & vbNullChar
        .dwState = 0
        .dwStateMask = 0
  End With

  Shell_NotifyIcon NIM_ADD, nf_IconData

End Sub

Private Sub Form_unload(Cancel As Integer)
  Shell_NotifyIcon NIM_DELETE, nf_IconData
End Sub

Private Function BallonTip(Headline As String, Content As String, Optional msgIcon As String)
With nf_IconData
        .cbSize = Len(nf_IconData)
        .hWnd = Me.Picture1.hWnd
        .uID = vbNull
        .uFlags = NIF_ICON Or NIF_INFO Or NIF_MESSAGE Or NIF_TIP
        .uCallbackMessage = WM_MOUSEMOVE
        .hIcon = Me.Picture1
        '.szTip = "New TOOL TIP" & vbNullChar // Deaktiveret
        .dwState = 0
        .dwStateMask = 0
        .szInfo = Content & Chr(0)
        .szInfoTitle = Headline & Chr(0) ' Bruger den kaldte streng Headline
        .dwInfoFlags = NIIF_INFO '(NIIF_NONE, NIIF_INFO, NIIF_WARNING, NIIF_ERROR)
        If LCase(msgIcon) = "none" Then
        .dwInfoFlags = NIIF_NONE '(NIIF_NONE, NIIF_INFO, NIIF_WARNING, NIIF_ERROR)
        End If
        If LCase(msgIcon) = "warning" Then
        .dwInfoFlags = NIIF_WARNING '(NIIF_NONE, NIIF_INFO, NIIF_WARNING, NIIF_ERROR)
        End If
       
        If LCase(msgIcon) = "error" Then
        .dwInfoFlags = NIIF_ERROR '(NIIF_NONE, NIIF_INFO, NIIF_WARNING, NIIF_ERROR)
        End If
       
        .uTimeout = 1000
  End With
 
  Shell_NotifyIcon NIM_MODIFY, nf_IconData
End Function
<--Form1-->

<---Modul - modDeclaration-->
Public Type NOTIFYICONDATA
  cbSize As Long
  hWnd As Long
  uID As Long
  uFlags As Long
  uCallbackMessage As Long
  hIcon As Long
  szTip As String * 128
  dwState As Long
  dwStateMask As Long
  szInfo As String * 256
  uTimeout As Long
  szInfoTitle As String * 64
  dwInfoFlags As Long
End Type

Public nf_IconData As NOTIFYICONDATA

Public Const NOTIFYICON_VERSION = 3
Public Const NOTIFYICON_OLDVERSION = 0

Public Const NIM_ADD = &H0
Public Const NIM_MODIFY = &H1
Public Const NIM_DELETE = &H2

Public Const NIM_SETFOCUS = &H3
Public Const NIM_SETVERSION = &H4

Public Const NIF_MESSAGE = &H1
Public Const NIF_ICON = &H2
Public Const NIF_TIP = &H4

Public Const NIF_STATE = &H8
Public Const NIF_INFO = &H10

Public Const NIS_HIDDEN = &H1
Public Const NIS_SHAREDICON = &H2

Public Const NIIF_NONE = &H0
Public Const NIIF_WARNING = &H2
Public Const NIIF_ERROR = &H3
Public Const NIIF_INFO = &H1
Public Const NIIF_GUID = &H4

Public Const WM_MOUSEMOVE = &H200
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 Declare Function Shell_NotifyIcon Lib "shell32" _
Alias "Shell_NotifyIconA" _
(ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
<-- Modul modDeclaration -->
Avatar billede sjh Nybegynder
07. november 2005 - 16:57 #1
Avatar billede blueice Nybegynder
07. november 2005 - 22:05 #2
sjh -> Svar
Avatar billede sjh Nybegynder
07. november 2005 - 22:09 #3
noget som kunne bruges ;)
Avatar billede blueice Nybegynder
08. november 2005 - 00:13 #4
Jeps lige hvad jeg manglede
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester