AGB  ·  Datenschutz  ·  Impressum  







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

Mainicon unter Windows 7

Ein Thema von Roaster · begonnen am 8. Sep 2009 · letzter Beitrag vom 18. Jan 2018
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Roaster

Registriert seit: 21. Jul 2004
Ort: bei mir zu Hause
107 Beiträge
 
#1

Mainicon unter Windows 7

  Alt 8. Sep 2009, 13:46
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.
cu, Michael

Windows 7, WinXP Pro, Vista, WinXP Home, Win98 SE
D4 C/S, D7 Enterprise, Turbo Delphi Pro, Delphi 2009
  Mit Zitat antworten Zitat
Benutzerbild von holliesoft
holliesoft

Registriert seit: 4. Apr 2005
Ort: Gau-Algesheim
250 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Mainicon unter Windows 7

  Alt 8. Sep 2009, 15:27
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
  Mit Zitat antworten Zitat
Roaster

Registriert seit: 21. Jul 2004
Ort: bei mir zu Hause
107 Beiträge
 
#3

Re: Mainicon unter Windows 7

  Alt 8. Sep 2009, 15:29
Hi,

das könnte sein, nur hatte ich auch schon mal probiert das Icon nachträglich in die EXE mit ReplaceVistaIcon ReplaceVistaIcon zu kopieren und dies zeigte am Ende das gleiche Ergebnis.
cu, Michael

Windows 7, WinXP Pro, Vista, WinXP Home, Win98 SE
D4 C/S, D7 Enterprise, Turbo Delphi Pro, Delphi 2009
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#4

Re: Mainicon unter Windows 7

  Alt 8. Sep 2009, 15:31
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
Frederik
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#5

Re: Mainicon unter Windows 7

  Alt 8. Sep 2009, 15:48
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)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#6

Re: Mainicon unter Windows 7

  Alt 8. Sep 2009, 15:59
Hi himitsu,
Zitat von himitsu:
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.
Richtig, kann ich aber nicht nutzen: Ich will automatisch inkrementierende Build-Nummern in der IDE. Eine VersionInfo oder Manifest ist schnell geschrieben, aber die Nr.-Automatisierung geht sonst nur über externen Buildprocess (make, ant o.ä.).

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
Frederik
  Mit Zitat antworten Zitat
Benutzerbild von holliesoft
holliesoft

Registriert seit: 4. Apr 2005
Ort: Gau-Algesheim
250 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Mainicon unter Windows 7

  Alt 8. Sep 2009, 16:00
Zitat von Assertor:
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.
Sicher? Schau Dir mal den Screenshot an... Wenn das große gelbe Notizzettel-Icon hochskaliert ist, dann frage ich mich...

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
Miniaturansicht angehängter Grafiken
256px_icon_623.jpg  
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#8

Re: Mainicon unter Windows 7

  Alt 8. Sep 2009, 16:05
Zitat von holliesoft:
Sicher? Schau Dir mal den Screenshot an... Wenn das große gelbe Notizzettel-Icon hochskaliert ist, dann frage ich mich...
Um welchen Icon-Typ handelt es sich? Ein Screenshot sagt nun wirklich garnichts... Welche Auflösungen, Farbtiefen und Kompression hat das Icon?

Fakt bleibt trotzdem, BRCC32 kommt mit png compressed Icons als Resourcetyp ICON nicht zurecht:
http://qc.embarcadero.com/wc/qcmain.aspx?d=45574
http://qc.embarcadero.com/wc/qcmain.aspx?d=73885

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
Frederik
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Mainicon unter Windows 7

  Alt 8. Sep 2009, 16:09
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

Patti
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Benutzerbild von holliesoft
holliesoft

Registriert seit: 4. Apr 2005
Ort: Gau-Algesheim
250 Beiträge
 
FreePascal / Lazarus
 
#10

Re: Mainicon unter Windows 7

  Alt 8. Sep 2009, 16:27
Zitat von Assertor:
Wie ist das Icon denn in die EXE gekommen und um welchen Typ handelt es sich?
Sorry, mein Fehler, hab die Infos vergessen... hab meinen Beitrag oben editiert

Zitat von patti:
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
Benutze auch IcoFX mit der genannten Option - und ja, Windows 7 zeigt es auch richtig an

Gruß
Patrick
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 06:41 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