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.
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:
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