Autor |
Beitrag |
Anfänger
      
Beiträge: 128
WinXP
D3 Prof
|
Verfasst: So 01.02.04 16:57
Ich habe in folgendem Link gelesen, wie man Icons neben der Uhr erstellt und bearbeitet.
www.delphi-forum.de/viewtopic.php?t=8294
Dort sind IDI_INFORMATION und IDI_WARNING als Icons angegeben.
Nun möchte ich natürlich mein eigenes Icon stattdessen da stehen haben.
Aber wie stelle ich das an?
|
|
GruppeCN
      
Beiträge: 322
|
Verfasst: So 01.02.04 17:00
Gib einfach anstatt LoadIcon den Pfad zu deinem Icon an...
_________________ Warum sind die Sachen, die du suchst, immer da, wo du zuletzt nachsiehst?
Weil du aufhörst zu suchen, wenn du sie gefunden hast.
|
|
Anfänger 
      
Beiträge: 128
WinXP
D3 Prof
|
Verfasst: So 01.02.04 17:28
Die Eigenschaft ist ja 'hIcon'
und ist im Beispiel so dargestllt:
Delphi-Quelltext 1:
| hIcon := LoadIcon (0, IDI_INFORMATION); |
Wenn ich jetzt, wie du sagtest LoadIcon weg lasse und den Pfad einfüge sieht das so aus:
Delphi-Quelltext 1:
| hIcon := 'C:\Dokumente und Einstellungen\Marcus\Eigene Dateien\Delphie\Symbole Bilder etc\Tabelle.ICO'; |
Dabei sagt er mir, dass er einen Integerwert haben möchte.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 01.02.04 17:45
Willst du es aus einer Datei laden, nimm LoadImage. Ich würde es aber mit LoadIcon aus der Ressource laden, dann musst du das Icon nicht extra als Datei mitliefern.
|
|
Anfänger 
      
Beiträge: 128
WinXP
D3 Prof
|
Verfasst: So 01.02.04 20:20
Sorry, habe ein problem mit LoadImage
Ich sehe, was man da angeben werden muss und verstehe nur Bahnhof.
Kann mir jemand mal bitte anhand eines Beispiels die Eingabe des LoadImage erklären?
Informationen über mein Bild:
Typ: Symbol
Name:Tabelle
Pfad:C:\Dokumente und Einstellungen\Marcus\Eigene Dateien\Delphie\Symbole Bilder etc
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 01.02.04 20:27
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| LoadImage(hInstance, 'Pfad zum Icon\Icon.ico', IMAGE_ICON, 0, 0, LR_LOADFROMFILE or LR_DEFAULTSIZE); |
Mit dem letzten Parameter LR_DEFAULTSIZE kannst du ja mal experimentieren. Wie is´n dein Englisch, im PSDK heißt es nämlich:
PSDK hat folgendes geschrieben: | LR_DEFAULTSIZE
Uses the width or height specified by the system metric values for cursors or icons, if the cxDesired or cyDesired values are set to zero. If this flag is not specified and cxDesired and cyDesired are set to zero, the function uses the actual resource size. If the resource contains multiple images, the function uses the size of the first image. |
Wenn sich das Symbol in den Ressourcen der Exe befindet, dann geht´s auch so:
Delphi-Quelltext 1: 2: 3: 4: 5:
| LoadImage(hInstance, MAKEINTRESOURCE(666), 0, 0, LR_DEFAULTSIZE); |
bzw. einfacher
Delphi-Quelltext 1:
| LoadIcon(hInstance,MAKEINTRESOURCE(666)); |
in der Annahme, dass das Symbol die Ressourcen-ID #666 hat. Wie man Symbole in die Ressourcen aufnimmt weißt du?
|
|
Anfänger 
      
Beiträge: 128
WinXP
D3 Prof
|
Verfasst: So 01.02.04 20:50
Ich habe es erstmal mit LoadImage versucht und es klappt.
Wenn ich das richtig verstanden habe, ist loadIcon wirklich besser, aber ich verstehe nicht, wie ich das Bild in die Exe speichern soll. 
|
|
GruppeCN
      
Beiträge: 322
|
Verfasst: So 01.02.04 21:12
Das musste ne Resource Datei benutzen...
_________________ Warum sind die Sachen, die du suchst, immer da, wo du zuletzt nachsiehst?
Weil du aufhörst zu suchen, wenn du sie gefunden hast.
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 02.02.04 11:08
Anfänger hat folgendes geschrieben: | Wenn ich das richtig verstanden habe, ist loadIcon wirklich besser, [...] |
Besser ist es nicht, nur einfacher, weil du außer der Instanz und der Ressourcen-ID keine weiteren Parameter brauchst. Allerdings steht im PSDK:
Zitat: | Note This function has been superseded by the LoadImage function. |
Ich gehe also mal davon aus, dass beim Aufruf von "LoadIcon" intern auch "LoadImage" benutzt wird.
Anfänger hat folgendes geschrieben: | [...] aber ich verstehe nicht, wie ich das Bild in die Exe speichern soll.  |
Die einfachste Variante ist folgendes RC-Skript:
Quelltext 1:
| 666 ICON "Pfad zum Icon\Icon.ico" |
Diese Zeile markieren und in den Editor kopieren und als Datei mit der Endung ".RC" speichern (ist kein Muss, macht´s aber übersichtlicher). Dann benutzt du den Ressourcencompiler von Borland, um daraus eine Ressourcendatei zu erstellen:
Quelltext 1:
| brcc32 Name.rc -foAndererName.res |
Der Parameter "-fo" samt Anhang ist nur erforderlich, wenn du für die RES-Datei einen anderen Namen verwenden willst als für die RC. Lässt du also den zweiten Parameter weg, bekommt die RES-Datei den gleichen Namen wie das RC-Skript.
Dann packst du die RES-Datei in den Quellcode deiner Anwendung. Entweder im Projektquelltext (*.dpr) oder in die Form-Unit
Delphi-Quelltext
Voilà, schon steckt das Icon nach dem Kompilieren in der Exe, und du kannst es mit "LoadIcon" laden. 
|
|
Anfänger 
      
Beiträge: 128
WinXP
D3 Prof
|
Verfasst: Mo 02.02.04 11:29
Dieser Ressourcencompiler ist nicht zufällig bei Delphie 3 dabei?
Ich kann ihn weder auf der Delphi CD noch auf meinem Computer finden.
Wenn nicht, wo kriege ich den her?
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 02.02.04 12:20
Anfänger hat folgendes geschrieben: | Dieser Ressourcencompiler ist nicht zufällig bei Delphie 3 dabei? |
Bei mir (D5) ist er das. Mach doch einfach mal eine DOS-Box (MS-DOS-Eingabeaufforderung) auf und tippe dort
Quelltext
ein. Wenn deine Delphi-Ordner beim Setup ordnungsgemäß in den Pfad geschrieben wurden, und wenn bei D3 der Ressourcencompiler dabei ist (und ich wüsste nicht, warum er es nicht sein sollte), dann müsstest du eine entsprechende Syntaxübersicht erhalten.
Normalerweise steckt er im "bin"-Ordner von Delphi.
|
|
Anfänger 
      
Beiträge: 128
WinXP
D3 Prof
|
Verfasst: Mo 02.02.04 12:27
In dem Ordner befindet sich nur WinSight.
(keine Ahnung was das ist. Als ich es gestartet habe sah es so aus als würde es sich selbständig machen. Lauter Texte, die sich ständig änderten)
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 02.02.04 12:33
Entschuldige bitte, aber wenn ich was von einer Datei "brcc32"(.exe) erzähle, warum startest du dann ein völlig anderes Programm?
Hm, wenn du so einer bist, dann schick ich dir mal einen Email-Wurm. Der heißt zwar auch nicht "brcc32.exe", aber das macht ja nichts, da du ihn sicher trotzdem anklickst ...
Aber ernsthaft: Mach doch mal eine Dateisuche (Win-Taste + F) und versuche das Teil zu finden. Gib als Namen doch mal nur "brc*.*" ein, vielleicht trägt der Compiler unter D3 (noch) einen anderen Namen? Evtl. gibt´s auch einen D3-User, der dir schneller helfen kann.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 02.02.04 12:54
woolen wir mal nicht so sein:
C:\Programme\Borland\Delphi 3\Bin
Da liegt sie bei mir. Also im gleichen Verzeichnis, wie der Kompiler und die IDE. Und wenn du dir das Verzeichnis nach den Typ sortieren läßt, dann steht sie sogar ganz oben als aller erstes. 
|
|
Anfänger 
      
Beiträge: 128
WinXP
D3 Prof
|
Verfasst: Mo 02.02.04 12:55
Ein Glück, dass du meine E-MailAdresse nicht hast
Ich versteh das zwar nicht, aber eben gab es in dem Ordner wirklich nur das Programm von dem ich erzählte.
Jetzt gibt es viele
unter anderem auch BRC32 und BRCC32 beim Start öffnet sich nur ein Dos fenster macht was und schließt sich wieder. 
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 02.02.04 13:05
Logisch, ist ja auch ein Konsolen Programm. Öffne eine Konsole und starte es von da aus.
|
|
Anfänger 
      
Beiträge: 128
WinXP
D3 Prof
|
Verfasst: Mo 02.02.04 13:32
Also nochmal von vorne:
Ich habe jetzt die Datei Ressource.rc mit folgendem Inhalt:
Delphi-Quelltext 1:
| 666 ICON "C:\Dokumente und Einstellungen\Marcus\Eigene Dateien\Delphie\Vertige Produkte\Terminkalender01\Symbol2.ico" |
und jetzt?
Zitat: | Dann benutzt du den Ressourcencompiler von Borland, um daraus eine Ressourcendatei zu erstellen: |
verstehe ich nicht wie ich das machen soll.
Ps. Lucky: was meinst du mit Konsole?
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 02.02.04 13:58
Ich weiß zwar nicht wer Lucky ist, aber als Konsole bezeichent der gemeine Windows Benutzer auch meist fälschlicherweise die DOS-Box. Und in selbiger rufst du den Ressourcen Kompiler auf wie Mathias es beschrieben hat.
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 02.02.04 14:41
Anfänger hat folgendes geschrieben: | Zitat: | Dann benutzt du den Ressourcencompiler von Borland, um daraus eine Ressourcendatei zu erstellen: |
verstehe ich nicht wie ich das machen soll. |
Zuerst "Start -> Ausführen" bzw. WIN-Taste + R, und dann abhängig von deiner Windows-Version tippst du ein
Quelltext
(für 95, 98 und ME) bzw.
Quelltext
(für NT, 2000 und XP). Dann hast du die besagte DOS-Box, Konsole bzw. MS-DOS-Eingabeaufforderung. Und da machst du dann den Rest.
|
|
Anfänger 
      
Beiträge: 128
WinXP
D3 Prof
|
Verfasst: Mo 02.02.04 15:40
Es funktionuckelt
Nach stundenlangen Ausprobieren habe ich es gerallt
Mein problem ist/war, dass der Command aus irgendeinem Grund einen
Ordnerwechsel nicht akzeptiert hat.
Nun habe ich einfach die Umwandlung in dem Ordner gemacht, in dem
der Command gestartet wurde und zum Schluss in meinen Ordner
verschoben.
Naja, jedenfalls klappt es jetzt und ich denke nicht, dass ich so schnell
vergesse, wie ich es geschaft habe.
Aber Matthias hätte das Umwandeln ruhig besser erklären können.
Ich, der soetwas noch nie gemacht habe hab natürlich erst nach
stundenlangem durchlesen und ausprobieren verstanden, was gemeint
war und soviel Zeit (ca. 5h) will bestimmt keiner opfern.
Zuletzt bearbeitet von Anfänger am Mo 02.02.04 18:52, insgesamt 5-mal bearbeitet
|
|