AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Farbtiefe bei Tray-Icon anpassen

Offene Frage von "c.wuensch"
Ein Thema von c.wuensch · begonnen am 21. Aug 2006 · letzter Beitrag vom 24. Aug 2006
Antwort Antwort
Seite 1 von 2  1 2      
c.wuensch

Registriert seit: 19. Dez 2004
Ort: Münster
96 Beiträge
 
#1

Farbtiefe bei Tray-Icon anpassen

  Alt 21. Aug 2006, 00:17
Hallo,

meine Anwendung soll ein Tray-Icon anzeigen. Dazu gibt es ja schon unzählige Beiträge. Was ich allerdings nirgendwo finden konnte ist folgendes:

Unter Windows XP werden Tray-Icons meist mit 256 Farben (oder sogar 24 bit?) dargestellt, unter anderen Windows-Versionen (z.B. Win2k) nur mit 16 Farben.

Wie kriege ich es jetzt hin, dass je nach eingestellter Symbol-Farbtiefe des Systems ein jeweils darauf optimiertes Icon angezeigt wird?
(Es sollte nicht die Windows-Version als Kriterium benutzt werden, da man es in manchen Versionen umstellen kann...)

Cu, Chris
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#2

Re: Farbtiefe bei Tray-Icon anpassen

  Alt 21. Aug 2006, 00:21
Wenn ich mich recht entsinne kann man ja in einer *.ico Datei mehrere Versionen seines Icons abspeichern, z.B. 32x32-128x128px in einer Datei. Wenn du also die verschiedenen Farbtiefen in einer Datei zusammenfasst, könnte ich mir vorstellen dass sich das OS das passende raussucht, wie es das bei der Größe auch tut. Das ist aber nur eine Vermutung und müsste experimentell nachgewiesen werden

  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#3

Re: Farbtiefe bei Tray-Icon anpassen

  Alt 21. Aug 2006, 00:28
wenn der tip von Meflin nicht funktionieren sollte, funktioniert evtl. das:

in der registry unter
HKEY_CURRENT_USER \ Control Panel \ Desktop \WindowMetrics
den Wert für "Shell Icon BPP" auslesen (weis nicht, ob das auch für Tray-Icons gilt)
und je nach Wert (8/16/24) das passende Trayicon zuzuweisen
HTH Frank
  Mit Zitat antworten Zitat
c.wuensch

Registriert seit: 19. Dez 2004
Ort: Münster
96 Beiträge
 
#4

Re: Farbtiefe bei Tray-Icon anpassen

  Alt 21. Aug 2006, 18:37
Hallo,

danke für eure Mühe!

Der Tipp von Meflin ist nicht schlecht (diese Idee hatte ich auch schon). Bisher habe ich das Icon aber aus einer ImageList genommen, und diese unterstützt nun mal nur ein Bild und nicht mehrere.

Das Problem besteht jetzt also darin, dass ich nicht weiß, wie ich das Handle einer ganzen Icon-Datei (d.h. eigentlich soll es dann eine Resource sein) bekomme, um dieses im Tray darzustellen.

Kann mir da vielleicht einer helfen?

Cu, Chris
  Mit Zitat antworten Zitat
c.wuensch

Registriert seit: 19. Dez 2004
Ort: Münster
96 Beiträge
 
#5

Re: Farbtiefe bei Tray-Icon anpassen

  Alt 21. Aug 2006, 21:59
@_frank_:
Ich habe deinen Tipp natürlich auch probiert (auf mehreren Rechnern).
Der genannte Registry-Wert gibt allerdings nur die Symbol-Farbtiefe des Systems an, die sich von der des Trays unterscheiden kann (Beispiel: Windows 2000, hier hat das Tray immer nur 16 Farben).

Nach langem Googeln habe ich festgestellt, dass es wohl tatsächlich ein größeres Problem ist, ein Icon bestehend aus mehreren "Bildchen" zu laden, da die TIcon-Komponente wohl nur ein Bild laden kann.

Hat vielleicht irgendjemand eine Idee, wie dies dennoch zu bewerkstelligen wäre?

Cu, Chris
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#6

Re: Farbtiefe bei Tray-Icon anpassen

  Alt 21. Aug 2006, 22:01
Zitat:
Der genannte Registry-Wert gibt allerdings nur die Symbol-Farbtiefe des Systems an
Ist das dann nicht eine relativ einfache Lösung? Du lieferst die verschiedenen Farbtiefe-Varianten als einzelne Dateien mit. Über den Registry-Wert kannst du auslesen, welche Farbtiefe verwendet wird, und das entsprechende Icon einbinden

  Mit Zitat antworten Zitat
c.wuensch

Registriert seit: 19. Dez 2004
Ort: Münster
96 Beiträge
 
#7

Re: Farbtiefe bei Tray-Icon anpassen

  Alt 21. Aug 2006, 22:42
Eben gerade nicht!!!

Wie ich schon schrieb:
Zitat:
die sich von der des Trays unterscheiden kann
Als Beispiel habe ich mein Windows 2000 System angeführt. Die Symbol-Farbtiefe kann ich hier auf 16, 24 oder 32 bit stellen (was sich auch auf diesen Registry-Schlüssel auswirkt) aber die Tray-Icons haben trotz allem IMMER 8 bit (also 16 Farben).

Unter Windows XP stimmt die Tray-Farbtiefe mit dem Schlüssel überein, unter Windows 9x kann ich es gerade nicht testen.
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#8

Re: Farbtiefe bei Tray-Icon anpassen

  Alt 21. Aug 2006, 22:55
Zitat von c.wuensch:
die sich von der des Trays unterscheiden kann
hab ich irgendwie überlesen

Allerdings verstehe ich nun nicht ganz wieso du das Icon in eine TIcon-Komponente laden musst um dir un weiterzuhelfen wäre es wohl hilfreich zu wissen wie du deine Anwendung überhaupt in den Tray bringst! Wenn du z.B. eine Komponente wie TTrayIcon verwendest musst du doch die *.ico-Datei ienfach nur zuweisen, egal wie viele Versionen die letztlich beinhaltet!

  Mit Zitat antworten Zitat
c.wuensch

Registriert seit: 19. Dez 2004
Ort: Münster
96 Beiträge
 
#9

Re: Farbtiefe bei Tray-Icon anpassen

  Alt 21. Aug 2006, 23:54
Im Prinzip ist es mir egal, auf welche Weise das Icon erzeugt wird, wenn es funktioniert und mit entsprechender Farbtiefe angezeigt wird .

Eigentlich wollte ich es direkt per API-Befehl erzeugen, und zwar nach folgendem Tutorial:
http://delphi.about.com/od/kbwinshell/l/aa121801a.htm

Eine Komponente wäre mir aber ebenso recht. Ich habe jetzt mal eben die TTrayIcon VCL. Version 1.3 von Pete Ness probiert. Aber dort wird das Icon (wie vermutlich in anderen Komponenten auch) über ein Image geladen ==> also ist nur ein Bildchen verfügbar.

Ich hoffe ja immernoch, dass irgendjemand mir da weiterhelfen kann... (bei anderen Programmen klappt es ja schließlich auch!)

Cu, Chris
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#10

Re: Farbtiefe bei Tray-Icon anpassen

  Alt 22. Aug 2006, 00:10
Zitat von c.wuensch:
wie ich das Handle einer ganzen Icon-Datei (d.h. eigentlich soll es dann eine Resource sein) bekomme
Evtl. über MSDN-Library durchsuchenLoadIcon?

meflin's Überlegung vom Anfang mit den mehreren Bit - Versionen war schon ganz richtig, so würde ich es auch machen. Dann würde ich das Beispiel mit dem direkten API nehmen und das Handle zu hIcon einfach über LoadIcon bekommen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz