Angenommen Sie wollen dem Benutzer z.B. eine Meldung anzeigen, dass Updates zu Ihrem Programm bereit stehen. Dies soll aber nicht als normale Meldung angedeutet werden, da dies den Benutzer stören könnte. Wie könne man hier vorgehen? Man könnte aber auch... So geht's! Option Explicit ' Hier werden alle wichtigen Daten deklariert, ' damit später das Erstellen einer Windows ' XP Blase einfacher ist. Public ToolTip As NOTIFYICONDATA 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 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 NIF_NOICON = 0 Public Const NIF_INFOICON = 1 Public Const NIF_WARNINGICON = 2 Public Const NIF_ERRORICON = 3 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 SetForegroundWindow Lib "user32" ( _ ByVal hwnd As Long) As Long Public Declare Function Shell_NotifyIcon Lib "shell32" _ Alias "Shell_NotifyIconA" ( _ ByVal dwMessage As Long, _ pnid As NOTIFYICONDATA) As Boolean Private Declare Function DefWindowProc Lib "user32" _ Alias "DefWindowProcA" ( _ ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As Long) As Long Public Function WindowProc(ByVal hwnd As Long, _ ByVal uMsg As Long, ByVal wParam As Long, _ ByVal lParam As Long) As Long ' Auf bestimmte Ereignisse reagieren Select Case uMsg Case WM_LBUTTONDBLCLK ' Fenster schließen ' Hier können Sie Code hinzufügen, wenn der Benutzer ' auf das Icon in der Taskbar klickt. End Select ' Standard-Prozedur aufrufen und Ergebnis ' zurückgeben WindowProc = DefWindowProc(hwnd, uMsg, wParam, lParam) End Function Als nächstes fügen wir nur noch die Funktionen zum Erstellen einer Windows XP-Blase hinzu: Public Function NewBalloon(ByVal Title As String, _ ByVal Text As String, _ ByVal sToolTip As String, _ ByVal Icon As Long, _ Optional ByVal TimeOut As Long, _ Optional TrayIcon As Variant) Shell_NotifyIcon NIM_DELETE, ToolTip With ToolTip .cbSize = Len(ToolTip) .uID = vbNull .uFlags = NIF_ICON Or NIF_INFO Or NIF_MESSAGE Or NIF_TIP .uCallbackMessage = WM_LBUTTONDBLCLK If Not IsMissing(TrayIcon) Then .hIcon = TrayIcon .szTip = sToolTip & vbNullChar .dwState = 0 .dwStateMask = 0 .szInfo = Text & Chr(0) .szInfoTitle = Title & Chr(0) .dwInfoFlags = Icon .uTimeout = TimeOut End With Shell_NotifyIcon NIM_ADD, ToolTip End Function Und schon können Sie Windows XP Basen erstellen. Syntax: NewBalloon(ByVal Title As String, _ ByVal Text As String, _ ByVal sToolTip As String, _ ByVal Icon As Long, _ Optional ByVal TimeOut As Long, _ Optional TrayIcon As Variant) Um jetzt eine Blase zu Erstellen, müssen Sie nur noch folgende Codezeile eingeben: Beispiel mit Bild NewBalloon "Windows-Aktivierung", _ "Noch 1 Tag bis zur Aktivierung.", _ "Windows Aktivierung aufrufen", _ NIF_WARNINGICON, 3, Image1.Picture Dabei steht Beispiel ohne Bild NewBalloon "Windows-Aktivierung", _ "Haha! Reingelegt", _ "Hier der ToolTip", _ NIF_INFOICON, 3 Was zu beachten ist: Dieser Tipp wurde bereits 18.828 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
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. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 sevGraph (VB/VBA) Grafische Auswertungen Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! |
||||||||||||||||
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. |