![]() |
Mainicon unter Windows 7
Hi,
ich versuche schon seit einiger Zeit das Mainicon (Unter Projekt-Optionen hinzugefügt), so zu entwerfen, dass es unter Vista/Windows 7 korrekt aussieht. Korrekt bedeutet für mich, dass wenn ich mit Alt+Tab umschalte, ich ein großes Icon habe und nicht ein (wahrscheinlich) hochskaliertes. Weiterhin sieht es in der Taskleiste von Win7 eher bescheiden aus und nicht so, wich ich es mit Axialis IconWorkshop 6.5 entworfen habe. Ich habe in meiner Icon (.ico) Datei alles Format drin: 16x16 32x32, 48x48, 128x128 und sogar 256x256. Letzteres Format sogar komprimiert. Dieses Icons habe ich dann in den Projektoptionen hinzugefügt und kompiliert und in Wind7/Vista getestet. Aber es sieht mehr oder weniger so aus, als ob die beiden OSs das Icon nicht korrekt finden oder benutzen. Was mache ich hier falsch? Welche Formate benötigt Win7/Vista denn nun um alles korrekt zu verwenden? Ich benutze Turbo Delphi Pro/BDS2006. |
Re: Mainicon unter Windows 7
Hi,
soweit ich weiß, unterstützt Turbo Delphi noch nicht die Icon-Variante "256*256 Pixel PNG komprimiert". Das 256 Pixel Icon funktioniert aber, wenn Du es unkomprimiert benutzt. Gruß Patrick |
Re: Mainicon unter Windows 7
Hi,
das könnte sein, nur hatte ich auch schon mal probiert das Icon nachträglich in die EXE mit ReplaceVistaIcon ![]() |
Re: Mainicon unter Windows 7
Hi Roaster,
Delphi unterstützt leider durch die Bank weg (Dx - D2010) keine Projekticons in der Auflösung von 256x256px. Es wird immer skaliert. Über die Projektoptionen ist bei 64px Schluß, der Bug ist bekannt und wird leider als nicht wichtig erachtet. Es gibt auch keine Fehlermeldung beim Zuweisen, nur die exe enthält später nichts gescheites > 64px, jedenfalls erinnere ich mich an meine Tests so. Bis D2006/2007 können Icons in Resourcen in Delphi zusätzlich keine komprimierten (256px) PNGs enthalten, daran scheidert der BRCC32 (bei RC Typ ICON). Embarcadero/CodeGear hat soweit ich mich erinnere erst mit Delphi 2009 den Microsoft Resource Compiler lizenziert. Damit lassen sich auch direkt 256px PNG compressed Icons als Resource kompilieren. Möglichkeiten also: 1) Das RES file mit dem RC aus dem MS SDK erstellen und einbinden (z.B. als Icon Groupe ICON) und die IconGruppe MAINICON aus der exe nach dem Build entfernen 2) Ab D2009: Das RC mit 256px PNG compressed ICON kann zum RES kompiliert werden und als alternative IconGruppe in die exe eingebunden werden, auch hierbei muß die IconGruppe MAINICON nach dem Build entfernt werden. 3) Alternativer Weg: Nach dem Build die IconGruppe MainIcon in der exe austauschen, z.B. durch ResHacker Mit allen Wegen wird im Flip3d, Explorer etc das hochauflösende Icon sichtbar. Ich selbst verwende den 2. Weg. Im PostBuild wird die Delphi-Icongruppe MAINICON vollständig entfernt. Nachtrag: Es ist also zu unterscheiden zwischen dem Bug die Icons in den Projektoptionen zuzuweisen und dem richtigen Resource Compiler, der auch mit PNG Icons umgehen kann. Zu Deinem Problem im Explorer: Stichwort "Icon Cache". Kopiere die Datei in ein anderes Verzeichnis, u.U. ist auch ein Neustart notwendig bevor Du das richtige Icon siehst. Gruß Assertor |
Re: Mainicon unter Windows 7
Wenn man die Projektresource {$R *.res} wegläßt, dann dürfte der Linker doch auch keine Icon-Resourcen einbinden.
Und in diesem Frall würde es doch reichen, wenn man selber eine Resource, mit den gewünschten Icons und eventuell noch der Versionsinfos (welche dann auch weg wären) nutzt. Dann müßte man zumindestens nach dem Compilieren nix mehr ändern. (ein Beispiel für 'ne eigene Versions-Resource findet mal in meinem Manifest-Creator) |
Re: Mainicon unter Windows 7
Hi himitsu,
Zitat:
Nachtrag: Gut, man könnte das über das PreBuild Ereignis lösen, aber das Entfernen des Delphi-Helms ist für mich einfacher ;) Gruß Assertor |
Re: Mainicon unter Windows 7
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
1. Welchen sauguten Algorithmus benutzt Windows 7 dafür? Den will ich auch ;-) 2. Wieso wird das Delphi-Projektdatei-Icon nicht hochskaliert? Gruß Patrick //EDIT Unkomprimiertes Icon, 256 Pixel, 32bit Farbtiefe, erstellt mit IcoFX und über die Projektoptionen eingefügt |
Re: Mainicon unter Windows 7
Zitat:
Fakt bleibt trotzdem, BRCC32 kommt mit png compressed Icons als Resourcetyp ICON nicht zurecht: ![]() ![]() Du kannst in D2007 ein 256px Icon wohl als uncompressed zuweisen, da ruder ich etwas zurück - das geht auch in D2006. Auf die schnelle finde ich die Information nicht wieder, es entspricht aber trotzdem meiner Erfahrung: Es gibt (gab?) wohl ein Problem beim Schreiben der Icons in die Projektresource, wenn diese über die Projektoptionen zugewiesen wurde. Dies betrifft Icons mit hoher Auflösung und Kompression. Gruß Assertor |
Re: Mainicon unter Windows 7
Benutze zum Erstellen von Icons IcoFX, ein Programm, das ich mal im Internet gefunden hab. In den Einstellungen habe ich "Compress 256x256 images for Windows Vista" deaktiviert. Nach dem Erstellen des Icons (allerdings nicht als PNG) kann ich es in den Projektoptionen als Icon wählen und auf dem Desktop und in Ordnern etc. wird es (zumindest unter Vista - wie es unter Win 7 ist, weiß ich leider nicht) richtig dargestellt :gruebel:
Patti |
Re: Mainicon unter Windows 7
Zitat:
Zitat:
Gruß Patrick |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:32 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