Warum ist mein Icon in der Tray-Leiste mit TTrayIcon hässlich?

8

Ich habe kürzlich die TTrayIcon-Komponente in Delphi 2007 entdeckt. Der verwendete Code ist ziemlich einfach.

%Vor%

Da kein Symbol zugewiesen ist, verwendet Delphi Application.Icon, das ist das Symbol Ссылка Dieses Symbol enthält die folgenden Größen : 64x64, 48x48, 32x32, 24x24 und 16x16.

Nun, auf meinem Windows Vista, alles in Ordnung.

Auf einem nicht-themed Windows wie Windows Server 2003 ist das Ergebnis alles vermasselt:

BEARBEITEN: Zuerst dachte ich, es wäre wegen des Alphakanals. Also habe ich versucht, eine Version der ico-Datei ohne Alphakanal zu erstellen. Ich habe auch GreenFish Icon Editor wie von Ken vorgeschlagen versucht; Ich habe jede Farbtiefe und jede verfügbare Größe ausgewählt. In beiden Fällen ist das Endergebnis besser. Es gibt jedoch einen schwarzen Strich, der überhaupt nicht in der ico-Datei existiert.

    
Allain McCain 28.11.2012, 13:43
quelle

2 Antworten

8

Sie geben an, dass Sie das Symbol nicht zuweisen. In diesem Fall verwendet die Komponente Application.Icon . Aber das ist normalerweise ein Symbol, das die falsche Größe für den Infobereich hat.

Für den Benachrichtigungsbereich müssen Sie ein quadratisches Symbol mit der Größe verwenden, die durch die Systemmetrik SM_CXSMICON bestimmt wird. Der beste Weg, um das zu erreichen, ist LoadImage aufzurufen, mit dem Sie die Symbolgröße festlegen können. Sobald Sie das Symbol in ein HICON geladen haben, können Sie einfach folgendes schreiben:

%Vor%     
David Heffernan 28.11.2012, 20:29
quelle
6

Sie haben nicht die richtige Größe oder Farbtiefe für Ihr Symbol.

Sie können einen Symboleditor verwenden, um einer einzelnen .ico -Datei mehrere Größen- und Farbtiefensymbole zur Verfügung zu stellen, und Windows wählt automatisch die richtige Einstellung basierend auf den Einstellungen des Benutzers und der Grafiktreiberkonfiguration aus. Windows wird dann mehrere Auswahlmöglichkeiten für die Auswahl der nächsten Übereinstimmung haben, und die Skalierung und Mischung wird ein viel besseres Aussehen haben.

Ich benutze GreenFish Icon Editor , was Spende-Ware ist. Es ermöglicht Ihnen, jeden unterstützten Grafiktyp zu öffnen und dann automatisch ein Windows-Symbol mit mehreren Farbtiefen und Auflösungen zu erstellen (siehe Menü Icon ). Ich habe die Multi-Image-Icon-Dateien in Delphi 7, 2007, 2010, XE und XE3 getestet und sie funktionieren gut für die Application.Icon und TForm.Icon .

Siehe auch Beste Symbolgröße für die Anzeige im Fach

    
Ken White 28.11.2012 13:51
quelle

Tags und Links