![]() |
Komponenten Icon
Hallo,
bei den Arbeiten eine alte Komponente evtl. neu herauszubringen bin ich auch über deren Icon gestolpert. Ich habe in der dcp Datei das bisherige Icon gefunden. Dieses ist 24x24 mit 16 Farben. Muss das immer noch so sein? Oder geht da inzwischen auch "mehr"? Und wie ist der normale Weg das zu tun? Ja, mittels XN Ressource Editor könnte ich das vorhandene Icon austauschen, aber dann wär's ja vermutlich nur wieder24x24 mit 16 Farben und ein Bitmap. Grüße TurboMagic |
AW: Komponenten Icon
Bei den PngComponents habe ich vor einiger Zeit die DCRs durch einzelne PNGs in den Größen 16, 24, 32 und 128 ersetzt. Dies habe ich in der IDE über Projekt - Ressourcen und Bilder mit den entsprechenden Namen in das Projekt aufgenommen.
Du kannst dir das ja mal direkt dort ansehen: ![]() |
AW: Komponenten Icon
Oder über Windows selbst editieren, siehe
![]() |
AW: Komponenten Icon
Oder über den Ressourcen Manager ins Projekt.
Das Bild muß ja einfach nur so heißen, wie die Klasse, und muß im selben Modul (EXE/DLL/BPL) liegen, aber wie es in die Ressoucen kommt, ist vollkommen egal. [add] Beschreibung gefunden ![]() |
AW: Komponenten Icon
Zitat:
1. $R auf die alte DCP mit dem alten Icon auskommentiert 2. PNGs zum Design Time Package als RCDATA hinzugefügt und benannt wie bei dir: Klassenname + Auflösung 3. Die PNGs werden auch im Projekt gelistet, es compiliert und installiert (ja vorher deinstalliert und auch IDE neugestartet). Wenn ich jetzt ein leeres VCL Projekt erzeuge und die Komponente suiche hat die das Icon, welches die IDE benutzt wenn keines definiert ist. PNG Größen: 16x16. 24x24, 32x32, 48x48 und 64x64 Woran kann es noch liegen? Grüße TurboMagic |
AW: Komponenten Icon
Die neue bpl auch mit der alten ausgetauscht?
|
AW: Komponenten Icon
Ich habe immer deinstalliert und neu Compiliert.
Wo sollte da eine alte BPL übrig bleiben? |
AW: Komponenten Icon
So, jetzt nochmal deinstalliert, IDE geschlossen und BPLs gelöscht.
Danach neu installiert: immer noch falsch. :( |
AW: Komponenten Icon
Also ich glaube es Dir ja, Du wirst schon Wissen was auf Deinem System so ab geht.
Bei mir versagt sehr oft, wenn nicht sogar immer, ein "ich klick ma Deinstall" und alle files sind weg (so wie vom Windows Uninstaller auch erwartet wird). Leider löscht der bei mir nur den Registrierungseintrag für Komponente X aber nicht die Dateien. Deswegen bin ich etwas gebrandmarkt. Zurück zum Thema, himitsu hat ja irgendwie nur Uwe wiederholt also stehen nur zwei Möglichkeiten zur Auswahl, plus Deiner "Resource-Editor" Sache. Deshalb mal ein klitzekleines "klappt es denn mit der Methode aus meinem Link"? |
AW: Komponenten Icon
Liste der Anhänge anzeigen (Anzahl: 1)
Wenn man beim Package in den ProjektOptionen keinen Ausgabepfad angibt, dann landen die BPL/DCP im Standard-Package-Pfad in einem der Delphi-Verzeichnisse.
Es muß immenoch Bitmap sein und was Anderes als 24x24 ist wohl auch sinnlos, da die Dinger eben nur 28x28 groß sind. (also VCL ... bei FMX kann es anders sein) Aber 16 Bit und 24x24 muß es nicht sein. siehe Ressourcen-Manager (Menü > Projekt > Ressourcen und Bilder...) Die VCL sucht ausschließlich nach RC_BITMAP. (ich weiß aber nicht wo ... einfach nur nach der Exception zu schauen, wenn ein falsches Format geladen wird, bringt nichts, da es im Formdesigner nicht knallt) Ich sah mal jemanden, der hatte statt TComponent irgendwas Anderes genommmen und konnte dann selbst malen. (meine TestKomponente HACK geht aber nicht auf einem DatenModul und die Caption fehlt, aber malen kann ich, was ich will) [edit] auch für TTestComponentHack müsste ein Bitmap in die Ressource, obwohl selbstgemalt, damit auch in der Komponentenpalette was ist [/edit] |
AW: Komponenten Icon
Danke für den Tipp mit es muss Bitmap sein.
Nur: warum nutzt Uwe's Beispiel dann PNGs mit RCData? Ist das für FMX? |
AW: Komponenten Icon
Kann sein.
FMX nutzt an vielen Stellen PNG (auch in der TImageList). Aber Bitmap muß dort auch gehn, für CrossPlatform-Komponenten (VCL und FMX). Aber mehrere Bilder/Formate wäre schon toll, denn auf der Form ist es im VCL 24x24, aber in der neuen ToolPalette 16x16. Der VCL-FormDesigner bräuchte doch nur TPicture verwenden, anstatt TBitmap, und schon könnte man alle Typen verwenden. (ICO, BMP, GIF, PNG, ...) |
AW: Komponenten Icon
Hallo,
habe die jetzt durch BMPs ersetzt, deinstalliuert, bpls gelöscht, reinstalliert und IDE neu gestartet. Ergebinis: in der Tool Palette funktioniert es jetzt, auf der Form ist immer noch das Default Icon... :-( @Himitsu: dein letzter Post ist zur Bildgröße etwas verwirrend: einmal schreibst du was von 24x24 und das andere mal von 28x28... Grüße TurboMagic |
AW: Komponenten Icon
Ja, das Icon auf Form/Datenmodul ist 24x24, in der Komponente mit 28x28 drumrum, mit 1 Pixel Rahmen und 1 Pixel Margin. :angle:
In der neuen ToolPalette ist es 16x16 und in der Alten 20x20. Da passt einfach nichts, damit das eine Bitmap überall "gut" aussieht, vor allem da für das StretchDraw der unschönste Modus gekommen wird. Wobei, vielleicht könnte man das sogar ausnutzen. Das Bitmap sooooo groß, dass man die 3 Bilder überlagen könnte und jedes Format abwechseln seine eigenen Pixel daraus zieht (außer beim 0:0). Müsste man mal schauen was man mit TScaledGraphicDrawer, WinAPI.StretchBlt, WinAPI.TransparentStretchBlt und WinAPI.AlphaBlend alles machen kann. |
AW: Komponenten Icon
Zitat:
Beispiel: TPngImageList128_PNG Ohne das PNG müsste es ein BMP sein. |
AW: Komponenten Icon
Seufz!
Habe die BMPs jetzt wie beschrieben durch PNGs ausgetauscht. Ja, in der Palette funktioniert das, auf der Form immer noch das Standard Icon. Woran hängt das bitte? Und ja, vorher deinstalliert und BPLs gelöscht und erst nach IDE Neustart das Design Time Package wieder installiert. Das darf doch nicht so kompliziert sein... |
AW: Komponenten Icon
Ohhh, _ICO geht nicht
aber _PNG geht wirklich, sogar ohne die Auflösung.
Delphi-Quellcode:
TPngImageList_PNG
Für was/wo ist denn das Bild mit 128? [EDIT] 16, 24, 32 und/oder 128 Pixel (das Letzte geht nur als PNG) ![]() 16 für neue Palette 20 für alte Palette (das fehlt) 24 für FormDesigner 32 für keine Ahnung 64 verwenden Delphi irgendwo und berechnet es sich aus dem 128 128 für keine Ahnung |
AW: Komponenten Icon
Naja, wofür das 128er Icon ist beschreibt der Blog Post ja auch.
Nur. Warum es bei mir nicht klappt wenn die nicht visuelle Komponete auf eine Form platziert wird beschreibt das alles nicht. |
AW: Komponenten Icon
Dein Delphi ist kaputt
oder du machst was falsch? Es ist auch im richtigen Package? Unit der Komponente und das Bild müssen im selben Package liegen. (muß man z.B. aufpassen, wenn man mit getrennten Runtime- und DesignTimePackages arbeitet) Ist auch bissl sinnlos, eil so gibt man es immer in seinen EXEn mit, obwohl es zur Runtime niemals gebraucht wird. (außer man baut sich dort einen Formdesigner ein, aber egal, denn den von Emba kann man eh nicht nutzen und kann das mit dem Bild dort anders machen) Und du hast geprüft, dass auch das richtige Package geladen wird? (nicht daß ein altes Packge irgendwo liegt) Das mit dem falschen Package hatte ich auch grade erst. ![]() In Hilfe > Info > Versionsinfo sieht man nicht alle geladenen Module. Und in Komponente > Packages installieren findest zumindestens die explizit eingebundenen Packages (aber ohne implizit geladene RuntimePackages). Die Groß-/Kleinschreibung scheint egal zu sein. |
AW: Komponenten Icon
Die Images hab ich in das Design Time Package gesteckt.
Da gehören die ja denke ich auch rein. |
AW: Komponenten Icon
Spasseshalber mal dem Laufzeitpackage die Images hinzugefügt.
Ändert aber nix. |
AW: Komponenten Icon
Zitat:
Zitat:
|
AW: Komponenten Icon
[OT]
Zitat:
Mich würde auch interessieren was man noch so mit einer .rc Datei machen kann abgesehen vom Standard (wie in meinem Link auf Seite 1) und non-Standard (wo man in einer art c++ alles definiert und beschreibt [dialoge zB]). Danke für dieses Thema an TurboMagic wo ich sonst niemals bemerkt hätte das es so geheime switches gibt! Ps an TM: Du hast gestern/vorgestern eine Topic "neues DEC nun erhältlich" o.ä. gepostet, praktisch wäre es wenn Du in den Zusammenhang auch geschrieben hättest "wo?" :-] [/OT] |
AW: Komponenten Icon
Zitat:
![]() |
AW: Komponenten Icon
Zitat:
Aber kein Problem, guckst du hier: ![]() Grüße TurboMagic |
AW: Komponenten Icon
Wenn ich das Bild nicht im selben Modul habe, wie die Komponente, dann wird kein Bild gefunden.
Hatte jetzt keine Lust ein zweites Package zu machen, aber einfach TBaseImageList in meinem TestPackage registriert und die BMP-Ressource in TBaseImageList umbenannt = kein Bild. [EDIT] Ohh, ich wäre davon ausgegangen, dass wie bei den Form-DFMs im Modul der Klasse gesucht wird ( ![]() aber die suchen scheinbar in mehreren/allen Modulen (war das früher vielleicht mal anders?), UND es gibt einen Cache, der auch "es gibt nichts" speichert. Die Komponente wurde angezeigt, ohne Icon ... da konnte ich dann anschließend neukompilieren/deinstallieren/installieren, wie ich wollte ... erst nach Neustart der IDE war das Bild da. Beim Deinstallieren/Installieren von Packages wäre es schön, wenn der Cache geleert würde. :stupid: |
AW: Komponenten Icon
Naja, Uwe hat mein Projekt mit dem selben
Ergebnis wie ich gestestet. Bei ihm war da ja dann auch sicher nichts im Cache. |
AW: Komponenten Icon
:roll: 10x gelesen und nicht gesehen.
Lass mal beim dem Namen der 24er Resource die 24 weg. Eventuell musst du Delphi beenden und vielleicht auch in der Registry die Einträge im Package-Cache entfernen. |
AW: Komponenten Icon
Das funktioniert jetzt!
SUper, danke! |
AW: Komponenten Icon
Also am Besten immer eine Ressource ohne Größe und wer will kann zusätzlich noch weitere Größen hinzufügen.
|
AW: Komponenten Icon
Zitat:
|
AW: Komponenten Icon
So, eine erste Version (noch kein Release!) der Komponente ist jetzt (wieder) verfügbar:
![]() Beim Kritisieren bitte dran denken, dass es eine etwas aufgehübschte Version des TComPortDriver von ca. 2001 oder so ist. :) Grüße und viel Spaß damit TurboMagic |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11: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