vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 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: ICON in der Taskleiste erzeugen 
Autor: haribo
Datum: 23.02.06 07:36

Ich hatte das alles mal in ein Modul zusammengepackt. Einfach einbinden, eine PictureBox mit gewünschtem Icon auf ne Form packen und TrayIconLoad aufrufen. Ist eigentlich selbsterklärend Have Phun!

' Die Mausklicks landen in Mousemove der PictureBox
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'TEMPLATE FÜR DIE BEHANDLUNG DER EREIGNISSE DES TRAYICONS
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
'Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As 
' Single, Y As Single)
'  Dim lMsg As Long
'  Dim sFilter As String
'  lMsg = X / Screen.TwipsPerPixelX
'  Select Case lMsg
'     Case WM_LBUTTONDOWN
'      ' linke Maustaste wird gedrückt
'     Case WM_LBUTTONUP
'      ' linke Maustaste wird losgelassen
'     Case WM_LBUTTONDBLCLK
'      ' linke Maustaste - Doppelklick
'     Case WM_RBUTTONDOWN
'      ' rechte Maustaste wird gedrückt
'     Case WM_RBUTTONUP
'       ' rechte Maustaste wird losgelassen
'       ' (jetzt z.B. Popup-Menü öffnen)
'       'PopupMenu MenuPopUp
'     Case WM_RBUTTONDBLCLK
'      ' rechte Maustaste - Doppeklick
'  End Select
'End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'TEMPLATE ENDE
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 
Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias _
  "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid 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 ' Unter Windows 2000 "* 128"
End Type
 
Public Const NIF_ICON = &H2
Public Const NIF_MESSAGE = &H1
Public Const NIF_TIP = &H4
Public Const NIF_STATE = &H8 ' Windows 2000
Public Const NIF_INFO = &H10 ' Windows 2000
Public Const NIS_HIDDEN = &H1
Public Const NIS_SHAREDICON = &H2
Public Const NOTIFYICON_VERSION = &H1
Public Const NIIF_WARNING = &H30
Public Const NIIF_ERROR = &H10
Public Const NIIF_INFO = &H40
Public Const NIM_ADD = &H0
Public Const NIM_DELETE = &H2
Public Const NIM_MODIFY = &H1
Public Const NIM_SETFOCUS = &H4 ' Windows 2000
Public Const NIM_SETVERSION = &H8 ' Windows 2000
Public Const WM_LBUTTONDBLCLK = &H203
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONUP = &H202
Public Const WM_MBUTTONDBLCLK = &H209
Public Const WM_MBUTTONDOWN = &H207
Public Const WM_MBUTTONUP = &H208
Public Const WM_RBUTTONDBLCLK = &H206
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_RBUTTONUP = &H205
Public Const WM_MOUSEMOVE = &H200
 
Private TrayIcon As NOTIFYICONDATA
Private IsTrayIconActive As Boolean
 
Public Sub TrayIconLoad(ByRef picIcon As PictureBox, Optional strTrayText As _
  String = "")
    oldScaleMode = picIcon.ScaleMode
    picIcon.ScaleMode = vbTwips
    With TrayIcon
        .cbSize = Len(TrayIcon)
        .hIcon = picIcon.Picture
        .hWnd = picIcon.hWnd
        .szTip = strTrayText & vbNullChar
        .uCallbackMessage = WM_MOUSEMOVE ' Form bekommt die Ereignisse
        .uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP
        .uID = 0&
    End With
    IsTrayIconActive = True
    Shell_NotifyIcon NIM_ADD, TrayIcon
End Sub
 
Public Sub TrayIconModifyToolTip(ByVal strToolTipMessage As String)
  TrayIcon.szTip = strToolTipMessage & vbNullChar
  Shell_NotifyIcon NIM_MODIFY, TrayIcon
End Sub
 
Public Sub TrayIconUnload()
  Shell_NotifyIcon NIM_DELETE, TrayIcon
  IsTrayIconActive = False
End Sub
 
Public Function IsInTray() As Boolean
    IsInTray = IsTrayIconActive
End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ICON in der Taskleiste erzeugen957NT2422.02.06 22:06
Re: ICON in der Taskleiste erzeugen539wincnc22.02.06 23:09
Re: ICON in der Taskleiste erzeugen586haribo23.02.06 07:36
Re: ICON in der Taskleiste erzeugen671vbtricks23.02.06 10:36

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