vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Notification Area 
Autor: BasTler
Datum: 03.05.05 11:33

Modul
DefInt A-Z
Declare Function Shell_NotifyIconA Lib "Shell32" (ByVal dwMessage as Long, _
  lpData as NOTIFYCONDATA) as Long
Type NOTIFYCONDATA
  cbSize as Long
  hwnd as Long
  uID as Long
  uFlags as Long
  uCallbackMessage as Long
  hIcon as Long
  szTip as String * 64
End Type
'Konstanten
Global Const NIM_ADD = &H0&
Global Const NIM_MODIFY = &H1
Global Const NIM_DELETE  = &H2
Global Const NIF_MESSAGE = &H1
Global Const NIF_ICON = &H2
Global Const NIF_TIP = &H4
Global Const WM_MOUSEMOVE = &H200
Global NI as NOTIFYCONDATA
im Ereignis Form_Load das Icon eines PictureBox-Controls als Icon registrieren:
NI.cbSize = Len(NI)
NI.hWnd = Picture1.hwnd
NI.uID = 0
NI.Flags = NIF_MESSAGE or NIF_ICON or NIF_TIP
NI.uCallbackMessage = WM_MOUSEMOVE
NI.hIcon = Picture1.DragIcon
NI.szTip = "Mein Notify Tool-Tip" & Chr$(0)
' Das NotifyIcon muß eine eindeutige ID besitzen, deshalb folgende Schleife 
' durchlaufen, bis kein Fehler mehr auftritt
Do
  NI.uID = NI.uID + 1
  result  = Shell_NotifyIconA (NIM_ADD, NI)
Loop While Result = 0
Für die Mausbewegungen auf dem Icon, wird das MouseMove-Ereignis der PictureBox verwendet
' Die Messages übergibt die Notification Area in dem Parameter x
  Dim Msg as Long
  Msg = (X and &HFF) * &H100
  Select Case Msg
    Case 0
    ' Code für Mausbewegung
    Case &HF00
     ' Code für linke Maustaste gedrückt
    Case &H1E00
     ' Code für linke Maustaste loslassen
    Case &H2D00
     ' Code für Doppelclick links
    Case &H3C00
     ' Code für rechte Maustaste gedrückt
    Case &H4B00
     ' Code für rechte Maustaste loslassen
    Case &H5A00
     ' Code für Doppelclick rechts
End Select
Um das Icon vom Programm aus zu verändern
  NI.hIcon = Picture2.DragIcon
  NI.szTip = "Anderer Tool-Tip" & Chr$(0)
  result  = Shell_NotifyIconA (NIM_MODIFY, NI)
Um das Icon wieder zu löschen - beispielsweise beim Unload-Ereignis
  result  = Shell_NotifyIconA (NIM_DELETE, NI)
Viel Erfolg
BasTler
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
SYMBOL-LEISTEN auf Desktop 1.216ThinkingBomb28.04.05 11:53
Re: SYMBOL-LEISTEN auf Desktop 819BasTler28.04.05 12:01
Re: SYMBOL-LEISTEN auf Desktop 811ThinkingBomb28.04.05 13:35
Re: SYMBOL-LEISTEN auf Desktop 820Martin Walcher01.05.05 07:28
Notification Area804BasTler03.05.05 10:58
Re: Notification Area1.182BasTler03.05.05 11:33

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel