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   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2021
 
zurück
Rubrik: System/Windows · Sonstiges   |   VB-Versionen: VB4, VB5, VB607.11.00
Icon Ihrer Anwendung im SystemTray

Das Hinzufügen eines TrayIcons ist im Prinzip ganz einfach. Sie verwenden einfach die Shell_Notifyicon-Funktion. Als paramter übergeben Sie eine Kon...

Autor:   Michael ImhofBewertung:     [ Jetzt bewerten ]Views:  46.652 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10 Beispielprojekt auf CD 

Das Hinzufügen eines TrayIcons ist im Prinzip ganz einfach. Sie verwenden einfach die Shell_Notifyicon-Funktion. Als paramter übergeben Sie eine Konstante, die angibt was Sie mit dem Icon machen wollen (hinzufügen/entfernen), und eine Struktur vom Typ NOTIFYICONDATA.

' Deklarationen:
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 Declare Function Shell_NotifyIcon Lib "shell32.dll" _
  Alias "Shell_NotifyIconA" ( _
  ByVal dwMessage As Long, _
  lpData As NOTIFYICONDATA) As Long
 
' Konstanten
Private Const NIF_ICON = &H2
Private Const NIF_MESSAGE = &H1
Private Const NIF_TIP = &H4
Private Const NIM_ADD = &H0
Private Const NIM_DELETE = &H2
Private Const NIM_MODIFY = &H1

Die Struktur NOTIFYICONDATA muß entsprechend gefüllt werden. Die Felder dieser Struktur sind selbsterklärend, bis auf zwei:

.hwnd:
Gibt das Fenster an, das die Nachrichten des Icons empfangen soll. Wird z.B. auf das Icon geklickt, so sendet Windows eine Nachricht an das hier angegebene Fenster...

.uCallbackMessage:
...und löst das in .uCallbackMessage angegebene Ereignis aus. Gewöhnlich verwendet man hier ein MouseMove-Ereignis z.B. eines Bildfeldes. Was genau mit dem Icon passiert ist (klick/doppelkick) wird im X-Parameter der MouseMove-Prozedur mitgeteilt. Man kann dann darauf reagieren und z.B. ein Menü aufklappen.

Mögliche Ereignisse sind:
1E0F:  Linke Maustaste wurde gedrückt
1E1E: linke Maustaste wurde losgelassen
1E2D: Doppelklick linke Maustaste
1E5A: Doppelklick rechte Maustaste
1E3C: rechte Maustaste wurde gedrückt
1E4B: rechte Maustaste wurde losgelassen
1E00: Maus wird über das Icon bewegt

Beispiel:
Plazieren Sie auf einer Form ein Picture-Element mit dem Namen Picture1. Weisen Sie der Picture-Eigenschaft das Icon zu, welches im SystemTray angezeigt werden soll.

Dim IC As NOTIFYICONDATA
 
Private Sub ShowIconInTray()
  With IC
   .cbSize = Len(IC)
   .hwnd = Picture1.hwnd ' Nachrichten-Fenster
   .uID = 2& ' unveränderlich
   .uFlags = NIF_MESSAGE Or NIF_ICON Or NIF_TIP
   .uCallbackMessage = &H200 ' Auswertung in MouseMove
   .hIcon = Picture1.Picture ' anzuzeigendes Icon
   .szTip = "Das ist der Tooltip" + vbNullChar
  End With
  Shell_NotifyIcon NIM_ADD, IC
End Sub
 
Private Sub Picture1_MouseMove(Button As Integer, _
 Shift As Integer, X As Single, Y As Single)
  ' Hier erfolgt die Auswertung
  Select Case Hex(X)
   Case "1E3C"
     ' rechte Maustaste gedrückt
 
   Case "1E2D"
     ' Doppelklick linke Maustaste
 
    ...
  End Select
End Sub

Siehe auch:  sevTrayIcon ActiveX

Standard-Icon, Flash- oder animierte Icons
Mit dieser Komponente bringen Sie Ihre Anwendung als Icon in den Traybereich der Windows Taskbar (rechts neben der Uhr) - entweder als Standard-Symbol, Flash-Symbol (blinkend) oder auch animiert...

Weiter Infos im Downloadbereich...
 

Dieser Tipp wurde bereits 46.652 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2021 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