![]() |
TrayIcon - Icons statisch laden
Ich möchte einem Tool nebem dem Main-TrayIcon auch noch weitere spendieren, welche zur LZ je nach Progammstatus wechseln und habe mich da erst mal an eine Emba-Demo gehalten.
Das funzt so weit auch prima, aber irgendwie stört es mich sehr, die Icons aus Dateien zur Laufzeit zu laden - ich hätte die gerne gleich zum Design statisch als Ressource eingebunden. (Weil: Ico's vergessen mitzugeben, gelöscht, defekt, ...) Über den Objektinspektor kann ich ja 1 Icon definieren - und offensichtlich auch mehrere:
Delphi-Quellcode:
Mit einer ImagelList hab ich ewig nicht mehr gearbeitet - zuletzt mit Delphi 7.
// http://docwiki.embarcadero.com/CodeExamples/Sydney/en/TTrayIcon_(Delphi)
TrayIcon.Icons := TImageList.Create(Self); MyIcon := TIcon.Create; // Load main tray icon: MyIcon.LoadFromFile('icons/BATW_AC.ico'); TrayIcon.Icons.AddIcon(MyIcon); TrayIcon.Icon.Assign(MyIcon); // Load charge icons (for looping) MyIcon.LoadFromFile('icons/Special_1.ico'); TrayIcon.Icons.AddIcon(MyIcon); // Load charge icons (for looping) MyIcon.LoadFromFile('icons/Special_2.ico'); TrayIcon.Icons.AddIcon(MyIcon); ... u.s.w. Heute - mit der Community-Edition (10.3.2) - finde ich da nix mehr zu "New Item - Load' o. ä... Oder sehe ich den Wald vor lauter Bäumen nicht mehr ? Meea-Dank im vorraus für hilfreiche Tipps. |
AW: TrayIcon - Icons statisch laden
Vielleicht kannst du die Icons auch zur Entwurfszeit in eine ImageList laden und zur Laufzeit das entsprechende Icon zuweisen?!
|
AW: TrayIcon - Icons statisch laden
Eigentlich & genau war das ja zum Schluss meine Frage:
Ich erinnere mich, das es 'Damals' mit D7 kinderleicht war ..... aktuell mit der CE hab ich da so meine Prob's, weil: WIE ? |
AW: TrayIcon - Icons statisch laden
Habe momentan leider keine Zeit zu testen, aber auf die Schnelle mit Google bei den Kollegen von SO gefunden:
Delphi-Quellcode:
Eventuell statt TBitmap ein TPNGImage verwenden, aber die Vorgehensweise sollte klar sein.
var
Bmp: TBitmap; begin Bmp := TBitmap.Create; try ImageList1.GetBitmap(0, Bmp); TrayIcon1.Icon.Assign(Bmp); TrayIcon1.Show; finally Bmp.Free; end; Die ImageList füllst du zur Designtime über Doppelklick. Du musst - im Bezug auf das TrayIcon - eine „externe“ ImageList verwenden. IMHO dient die ImageList des TrayIcon der Animation des TrayIcons. Beste Grüße! EDIT: Geht eventuell auch ohne den Umweg über ein Bitmap-Objekt: ImageList1.GetIcon(0, TrayIcon1.Icon); |
AW: TrayIcon - Icons statisch laden
Ich benutze das TJvTrayIcon wegen der Visibitiy... :thumb:
Da gibt es Icons -> ist eine Imagelist. Über den Icon Index hat man die Wahl...8-) PS: das hat TTrayIcon auch |
AW: TrayIcon - Icons statisch laden
Denke mal, ich werde falsch verstanden ....
Frage ist: Wie bekomme ich zur ENTWURFSZEIT ( ! ) z.b. über den Obj-Inspektor die ICON's in den Source. NICHT zur Laufzeit ( !!! ). Ich möchte die ICON als Ressource IM Programm haben. .....ansonsten wäre ja das o.g. Beispiel schon perfekt - isses aber nicht. Nachtrag: TJyTrayIcon macht das betreff mehren Icon auch nur als Imagelist.... |
AW: TrayIcon - Icons statisch laden
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
AW: TrayIcon - Icons statisch laden
Danke für deinen Hinweis - dieser und das Pic sagt mir aber gar nichts.
Datenmodul ? Bahnhof... Eine kurze Erklärung, wie es funzt oder Link dazu wäre hilfreich. |
AW: TrayIcon - Icons statisch laden
Hallo TERWI,
Zitat:
- mit Doppelklick auf diese Komponente öffnet sich ein Bilderlisten-Editor - in diesem Editor Icons hinzufügen - im Objektinspektor: Dem Property Icons die ImiageList1 zuweisen Zur Laufzeit einfach den IconIndex ändern, das Icon wird dann automatisch geändert. |
AW: TrayIcon - Icons statisch laden
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:45 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