![]() |
Icon im Tray ändern zwecks Statusanzeige
Hallo zusammen,
ich habe ein Programm, welches minimiert im Tray sitzt und ich möchte bei neuen Mitteilungen das Icon ändern, um diesen Status anzuzeigen. Ich weiß, dass das mit einer Jedi-Komponente geht, per Hand müsste dies doch auch zu machen sein, aber wie? Es muss keine Animation sein, sondern nur zwei Icons als Stati für "keine neuen Nachrichten" und "neue Nachrichten vorhanden". Meine Versuche, der Application über eine Imagelist die Icons zuzuweisen sind bisher gescheitert. Gruß Igotcha |
Re: Icon im Tray ändern zwecks Statusanzeige
Wie hast du es denn bisher in die TNA bekommen? Direkt per API-Code oder auch über eine Komponente? Im letzteren Fall sollte diese Komponente eine Möglichkeit zum Wechseln des Symbols bieten. Ansonsten verweise ich dich einfach mal auf die Ergebnisse im Forum:
![]() |
Re: Icon im Tray ändern zwecks Statusanzeige
Habs per API-Code gemacht (hier im Forum gefunden), hier ein Ausschnitt:
Delphi-Quellcode:
In diesem Fall wird dem TNA-Icon einfach das Handle des Application-Icons übergeben, so wie ich das sehe.Application.ShowMainForm := False; //Programm gar nicht erst anzeigen IconData.cbSize := SizeOf(IconData); IconData.Wnd := Handle; IconData.uID := 100; IconData.uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP; IconData.uCallBackMessage := WM_USER + 20; IconData.hIcon := Application.Icon.Handle; IconData.szTip := 'SysInfo'; Shell_NotifyIcon(NIM_ADD, @IconData); // fügt das Icon ein Nehmen wir mal an, ich habe meine beiden Icons in einer Imagelist, wie kann ich dann das TNA-Icon ändern? Gruß Igotcha |
Re: Icon im Tray ändern zwecks Statusanzeige
Hat dir doch Mathias geschrieben, in dem du das neue Icon der Struktur zuweist und dann NIM_MODIFY aufrufst.
|
Re: Icon im Tray ändern zwecks Statusanzeige
Zitat:
Beim "WIE" weise ich zu, herrscht da gerade gähnende Leere... In einem der Suchergebnisse wird davon ausgegangen, dass sich das Icon in einer *.res-Datei befindet. Ich benutze aber keine *.res-Datei. |
Re: Icon im Tray ändern zwecks Statusanzeige
Ja, aber so ein Symbol in der Imageliste hat doch auch ein Handle. Gibt´s nicht sogar Funktionen wie "GetIcon" und Co., die entweder das komplette Bild oder eben auch nur das Handle zurückliefern?
|
Re: Icon im Tray ändern zwecks Statusanzeige
Ja genau so eine "Handle"-Eigenschaft ist mir in der Imagelist aber irgendwie nicht untergekommen, deshalb ja meine Frage.
|
Re: Icon im Tray ändern zwecks Statusanzeige
Die Funktion GetIcon() übergibt die Grafik an ein TIcon, dieses wiederum hat das gewünschte Handle.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz