Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Verschiedene Icons für assoziierte Dateien (https://www.delphipraxis.net/48186-verschiedene-icons-fuer-assoziierte-dateien.html)

Weazy 21. Jun 2005 21:42


Verschiedene Icons für assoziierte Dateien
 
Wie kann ich jedem assoziierten Dateityp ein anderes Icon zuweisen? Bis jetzt ist es immer nur das Programm Icon..

Vielen Dank

Christian Seehase 21. Jun 2005 21:51

Re: Verschiedene Icons für assoziierte Dateien
 
Moin Weazy,

Du musst halt bei jedem Typ den Eintrag für DefaultIcon anders setzen.

Weazy 21. Jun 2005 22:04

Re: Verschiedene Icons für assoziierte Dateien
 
Ja schon, aber irgendwo muss ich doch auch die verschiedenen icons eintragen! ich kann ja nur ein icon für das Programm verwenden.... :pale:

s.h.a.r.k 21. Jun 2005 22:19

Re: Verschiedene Icons für assoziierte Dateien
 
ich hoffe ich versteh das hier richtig: Du willst z.B. den *.doc-Dateien ein anderes Icon zuweisen oder?!

Weazy 21. Jun 2005 22:24

Re: Verschiedene Icons für assoziierte Dateien
 
zum Beispiel. Mein Programm kan ZIP Dateien öffnen(sind auch assoziiert). Nun möchte ich ein eigenes Symbol für die ZIP Archive, aber eben nicht das gleiche wie mein Programm. Das macht doch fast jedes Programm, oder?

Flocke 22. Jun 2005 07:09

Re: Verschiedene Icons für assoziierte Dateien
 
In der Registry findest du z.B.:

HKEY_CLASSES_ROOT \ .zip \ (Standard) = "WinZip"

Damit suchst du weiter

HKEY_CLASSES_ROOT \ WinZip \ DefaultIcon = "C:\PROGRA~1\WINZIP\winzip32.exe,2"

Dieser String bezeichnet die Exe-Datei (könnte aber auch eine DLL oder eine ICO-Datei selbst sein) und den Index, also mit "2" das zweite Icon in der Datei.

Hierbei wird ein Problem sein, dass du bei Delphi die Reihenfolge der Icons nicht so ohne weiteres festlegen kannst. Du weist also am besten dem Dateityp einmal per Explorer das neue Icon aus deiner EXE-Datei zu und kopierst dir dann die Einträge aus der Registry.

Weazy 22. Jun 2005 11:24

Re: Verschiedene Icons für assoziierte Dateien
 
Vielen Dank, doch dass habe ich schon! Ich weis eben nicht wie ich machen kann das z.B beim icon index 2 ein icon verwendet wird (Ich muss doch das .zip icon irgendwo im projekt einbinden dass ich überhaupt den icon index 2 setzen kann, also irgendwie mehr als ein icon in das Projekt einfügen!!!!)

Ich hoffe ihr wisst was, bei google habe ich nichts gefunden!

ringli 22. Jun 2005 11:43

Re: Verschiedene Icons für assoziierte Dateien
 
Du musst dir eine zusätzliche Resource erstellen die du dann in dein Projekt einbinden kannst.

Als erstes brauchst du natürlich deine Icons und dann erstellst du dir mit einem einfachen Texteditor eine Datei mit folgendem Inhalt:
Code:
1 ICON "DeinIcon1.ico"
2 ICON "DeinIcon1.ico"
3 ICON "DeinIcon1.ico"
.
.
.
Diese speicherst du z.B. als "MeineIcons.rc" ab.

Abschliessend musst du in der Kommandozeile den folgenden Befehl verwenden:
Code:
"C:\Programme\Borland\BDS\3.0\Bin\brcc32.exe" -32 -v "c:\MeinPfad\MeineIcons.rc"
Damit wird eine "MeineIcons.res"-Datei erzeugt die du dann mit
Delphi-Quellcode:
{$R c:\MeinPfad\MeineIcons.res}
in dein Projekt einbinden kannst.

sakura 22. Jun 2005 13:52

Re: Verschiedene Icons für assoziierte Dateien
 
Zitat:

Zitat von ringli
Abschliessend musst du in der Kommandozeile den folgenden Befehl verwenden:
Code:
"C:\Programme\Borland\BDS\3.0\Bin\brcc32.exe" -32 -v "c:\MeinPfad\MeineIcons.rc"
Damit wird eine "MeineIcons.res"-Datei erzeugt die du dann mit
Delphi-Quellcode:
{$R c:\MeinPfad\MeineIcons.res}
in dein Projekt einbinden kannst.

Man kann die RC-Datei auch direkt dem Projekt hinzufügen und dann in der IDE über ein BUILD neu erstellen und in die Exe integrieren lassen.

...:cat:...

Weazy 22. Jun 2005 17:27

Re: Verschiedene Icons für assoziierte Dateien
 
Vielen Dank für die vielen Antworten!

Was ich noch nicht genau weiss ist was mit der Komandozeile gemeint ist (wohl kaum cmd:-))

ringli 23. Jun 2005 07:57

Re: Verschiedene Icons für assoziierte Dateien
 
Zitat:

Zitat von sakura
Man kann die RC-Datei auch direkt dem Projekt hinzufügen und dann in der IDE über ein BUILD neu erstellen und in die Exe integrieren lassen.

Kannst du mir auch verraten wie das geht? Würde die Sache ja wesentlich vereinfachen...

jfheins 23. Jun 2005 08:03

Re: Verschiedene Icons für assoziierte Dateien
 
Zitat:

Zitat von ringli
Kannst du mir auch verraten wie das geht? Würde die Sache ja wesentlich vereinfachen...

Nicht nur er :mrgreen:

[Shift] + [F11] drüchen (oder Projekt > Dem Projekt hinzufügen),
dann die .rc Datei auswählen (vorher denFilter unten ändern)

und fertig. Oder einfach
Delphi-Quellcode:
{$R 'name.res' 'name.rc'}
im Quelltest hinzufügen ;)

ringli 23. Jun 2005 10:25

Re: Verschiedene Icons für assoziierte Dateien
 
Zitat:

Zitat von jfheins
Nicht nur er :mrgreen:

[Shift] + [F11] drüchen (oder Projekt > Dem Projekt hinzufügen),
dann die .rc Datei auswählen (vorher denFilter unten ändern)

und fertig. Oder einfach

Delphi-Quellcode:
{$R 'name.res' 'name.rc'}
im Quelltest hinzufügen :wink:

Wenn ich das bei mir im Quelltext einfüge erhalte ich beim Erzeugen des Projektes immer die folgende Fehlermeldung:

Code:
[Fehler] E1026 Datei nicht gefunden: 'Icons\Name.res'
Was mache ich falsch? :gruebel:

jfheins 23. Jun 2005 15:48

Re: Verschiedene Icons für assoziierte Dateien
 
Du musst natürlich name (sowohl .rc als auch .res) duch deinen eigenen Dateinamen ersetzen ;)

Phoenix 23. Jun 2005 16:03

Re: Verschiedene Icons für assoziierte Dateien
 
Zitat:

Zitat von Weazy
Was ich noch nicht genau weiss ist was mit der Komandozeile gemeint ist (wohl kaum cmd:-))

Doch, cmd ist die Kommandozeile. Also cmd aufrufen und dort dann den Befehl ausführen ;-)

ringli 23. Jun 2005 16:07

Re: Verschiedene Icons für assoziierte Dateien
 
Zitat:

Zitat von jfheins
Du musst natürlich name (sowohl .rc als auch .res) duch deinen eigenen Dateinamen ersetzen ;)

Das ist ja klar. Ich hab das doch nur so geschrieben um beim Beispiel zu bleiben. Die Datei "Icons\Name.rc" existiert im entsprechenden Ordner und die in der RC-Datei angegebenen Icons exitieren auch. Und was die Fehlermeldung angeht st ja klar das die RES-Datei nicht vorhanden ist da die ja erstellt werden soll.

Weazy 23. Jun 2005 21:28

Re: Verschiedene Icons für assoziierte Dateien
 
Ok jetzt funktioniert es ganz gut, doch die Icons haben nur 256 Farben!!!! Andere Progs haben icons mit mehr als 256 Farbe (32Bit), Wie also kann ich solche machen?

Vielen Dank!

jfheins 23. Jun 2005 21:35

Re: Verschiedene Icons für assoziierte Dateien
 
@ringli: Bei mir steht in der OH
Zitat:

{$R Dateiname.res Dateiname.rc} bewirkt, dass die .rc-Datei in der Projektverwaltung enthalten ist (hierzu müssen die beiden 'Dateinamen' übereinstimmen). Wenn der Benutzer die .rc-Datei von der Projektverwaltung aus aufruft, wird der Editor für String-Tabellen aufgerufen.
:gruebel:

Dann einfach über [STRG] + F11 :mrgreen:

Weazy 23. Jun 2005 21:37

Re: Verschiedene Icons für assoziierte Dateien
 
Ok, jetzt funktionierts, doch die Icons sind alle nur 256 Farben. Andere Programme haben auch Icons mit 32Bit Icons,wie könnte ich das machen?

Danke für eure Hilfe

Sry, dachte das diese Nachritcht nicht eingetragen wurde :pale:

ringli 23. Jun 2005 22:59

Re: Verschiedene Icons für assoziierte Dateien
 
Zitat:

Zitat von jfheins
@ringli: Bei mir steht in der OH
Zitat:

{$R Dateiname.res Dateiname.rc} bewirkt, dass die .rc-Datei in der Projektverwaltung enthalten ist (hierzu müssen die beiden 'Dateinamen' übereinstimmen). Wenn der Benutzer die .rc-Datei von der Projektverwaltung aus aufruft, wird der Editor für String-Tabellen aufgerufen.
:gruebel:

Dann einfach über [STRG] + F11 :mrgreen:

Yepp, jetzt funktionierts nachdem ich die RC-Datei dem Projekt hinzugefügt habe obwohl danach nichts anderes in der Projektdatei steht wie das was ich vorher von Hand eingetragen habe. Na egal, jetzt geht's und das ist die Hauptsache.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:29 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