| Autor |
Beitrag |
galagher
      
Beiträge: 2562
Erhaltene Danke: 46
Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
|
Verfasst: Mo 09.11.09 18:16
Hallo zusammen!
Ich weiss, wie man per .res-Datei Icons in sein Programm einbindet. Das ginge ja auch, wenn nicht der Standard-Imageeditor von Delphi diese Einschränkung von 32x32 Pixel und 16 Farben hätte.
Das Symbol erfordert einfach mehr Farben und möglicherweise auch 48x48 Pixel, da man ansonsten nichts erkennen kann.
Mit Delphi selbst kann ich ein Symbol mit mehr Farben mit "Projekt / Optionen / Anwendung / Symbol" einbinden, allerdings kann ich das Symbol in der .res-Datei mit dem Delphi-Imageeditor nicht öffnen, da der es nicht unterstützt. Gut, soll sein.
Ich möchte aber ein zweites Symbol in der Programmdatei haben, welches ich dann den zum Programm gehörenden Dateien zuweisen kann, so wie .doc-Dateien ein zu Word gehörendes Symbol haben.
Wie kann man .ico-Dateien noch einbinden?
_________________ gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
|
|
Mitmischer 1703
      
Beiträge: 754
Erhaltene Danke: 19
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: Mo 09.11.09 18:56
Geht denn eine ImageList?
_________________ Die Lösung ist nicht siebzehn.
|
|
Andreas L.
      
Beiträge: 1703
Erhaltene Danke: 25
Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
|
Verfasst: Mo 09.11.09 19:17
Du kannst die Ico-Datei mit einem anderen Bildeditor z. B. IcoFx erstellen und dann manuell eine eine RC-Datei basteln und diese kompilieren:
Delphi-Quelltext 1:
| NameFuerDeinSymbol ICON "D:\Pfad\Zum\Icon.ico" |
cmd.exe öffnen, mit "cd" ins Verzeichnis der rc-Datei navigieren und brcc32.exe mit dem Namen der rc-Datei als Parameter ausführen. Und schon hast du eine .res-Datei.
|
|
galagher 
      
Beiträge: 2562
Erhaltene Danke: 46
Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
|
Verfasst: Mo 09.11.09 19:42
_________________ gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
|
|
Mitmischer 1703
      
Beiträge: 754
Erhaltene Danke: 19
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: Mo 09.11.09 19:48
Genauso.
_________________ Die Lösung ist nicht siebzehn.
|
|
Andreas L.
      
Beiträge: 1703
Erhaltene Danke: 25
Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
|
Verfasst: Mo 09.11.09 20:17
Die RC-Datei muss dann so aussehen: MeinSymbol ICON "WinShell2.ico" //wenn die ico-Datei nicht im selben Verzeichnis wie die rc-Datei liegt musst du selbstverständlich den kompletten Dateipfad angeben.
Die Befehlzeile ist dann die selbe brcc32.exe DeineRCDatei.RC
Das Symbol sollte, sofern keine anderen Symbole außer den Anwendungssymbol eingebunden werden, den Index 1 haben.
|
|
galagher 
      
Beiträge: 2562
Erhaltene Danke: 46
Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
|
Verfasst: Mo 09.11.09 20:30
Vielleicht liegt's ja an mir...
Welche .rc-Datei? Es gibt keine!
Ich habe bloss eine .ico-Datei.
Ok:
brcc32.exe BatchSymbol.rc BatchSymbol ICON "WinShell2.ico"?
Kann mir einfach jemand die gesamte , korrekte Befehlszeile posten - sorry, aber den Befehl "brcc32.exe" rufe ich so praktisch niemals auf!
_________________ gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
|
|
Andreas L.
      
Beiträge: 1703
Erhaltene Danke: 25
Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
|
Verfasst: Mo 09.11.09 20:31
Du musst dir die RC-Datei natürlich selbst erstellen. Verwende dazu Notepad und kopier das hier rein: MeinSymbol ICON "WinShell2.ico"
Dann rufst du cmd.exe auf und führst du oben genannte Befehlszeile aus.
Ist das so schwer zu begreifen? 
|
|
galagher 
      
Beiträge: 2562
Erhaltene Danke: 46
Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
|
Verfasst: Mo 09.11.09 21:51
Ok, danke, das haut hin und erstellt eine .res-Datei!
Aber wo binde ich diese ein?
Dass ich sie nirgendwo extra angebe, wäre einleuchtend, denn in der .dpr steht ja {$R *.res}. Aber dann wird meine .res nicht mikompiliert.
Gebe ich meine .res in der .dpr extra an:
{$R *.res}
{$R BatchSymbol.RES}
... ist meine .res in der .exe zwar vorhanden, aber die .exe erhält das in meiner .res-Datei enthaltene Symbol anstatt das per Delphi angegebene Symbol.
Gebe ich {$R BatchSymbol.RES} in meiner Unit1.pas (=Mainform) an, passiert dasselbe.
Meine Fragen daher:
1. Wie und wo muss ich meine .res-Datei angeben?
2. Und stimmt diese InnoSetup-Script Zeile prinzipiell:
Quelltext 1:
| Root: HKCR; Subkey: "WSL-Datei\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\WinShell.exe,1"; Tasks: associate |
WinShell.exe,0 klappt -> ist das .exe-Symbol. Ich möchte aber das Symbol, das den Index 1 hat!
_________________ gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
|
|
galagher 
      
Beiträge: 2562
Erhaltene Danke: 46
Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
|
Verfasst: Di 10.11.09 18:19
Es ist offenbar ausschlaggebend, die Namen der .res-Dateien zu "nummerieren", also Filename1.res, Filename2.res, Filename3.res usw. Filename.res wäre also dann mit Delphi erzeugte Datei.
So werden die Symbole innerhalb des Programms korrekt "angeordnet" und man greift auf sie mit dem Index, den die Zahl angibt, zu, zB. in einem InnoSetup-Script, mit dem man bei der Installation Datendateien Symbole zuweisen will.
Keine Ahnung, ob mich mit diesen Annahmen richtig liege, aber es funktioniert!
Danke euch!
_________________ gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
|
|
|