AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Komponentenentwicklung/Komponenten-Icons anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

Komponentenentwicklung/Komponenten-Icons anzeigen

Ein Thema von archimedix · begonnen am 5. Jul 2022 · letzter Beitrag vom 6. Jul 2022
Antwort Antwort
archimedix
Online

Registriert seit: 17. Jul 2011
20 Beiträge
 
Delphi 10.4 Sydney
 
#1

Komponentenentwicklung/Komponenten-Icons anzeigen

  Alt 5. Jul 2022, 20:59
Hallo zusammen,

baue gerade einen Komponenteneditor (TDesignWindow).
Der listet u.a. eine Auswahl der auf dem Formular befindlichen Controls mit Namen und Typ auf.
Zusätzlich würde ich noch gerne das dazugehörende Komponentensymbol anzeigen.

Weiß jemand, wie man an die Komponentensymbole herankommt?

Es geht in dieser Frage *nicht* darum, wie man Komponentenklassen Icons zuweist, sondern wie man sie ausliest.

Geändert von archimedix ( 5. Jul 2022 um 22:46 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Komponentenentwicklung/Komponenten-Icons anzeigen

  Alt 5. Jul 2022, 21:57
lmfdg Bei Google suchendelphi component icon
https://stackoverflow.com/questions/...t-palette-page

Man könnte natürlich auch eines der vielen Tutorials sich ansehn.
http://mc-computing.com/languages/delphi/Components.htm


Überall wird zwar immernoch von {$R ...} bzw. {$RESSOURCE ...} gesprochen,
aber empfehlen würde ich eher den Ressourcen-Editor, also ganz einfach direkt in die Projekt-Ressource rein.
https://blogs.embarcadero.com/easy-a...ons-in-delphi/


Es wird einfach nur in das selbe Package, wo die Komponente drin steckt, eine Ressource mit dem selben Namen erstellt/eingebunden.
Wie Womit ist dabei völlig egal.
[edit] das Format ist nicht egal, aber das womit/worüber/wodruch die Ressorce rein kommt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 5. Jul 2022 um 22:38 Uhr)
  Mit Zitat antworten Zitat
archimedix
Online

Registriert seit: 17. Jul 2011
20 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Komponentenentwicklung/Komponenten-Icons anzeigen

  Alt 5. Jul 2022, 22:45
Ging eigentlich mehr darum, wie man es über eines der Designer- oder ToolsAPI-Interfaces bekommt.

Über die Resourcen habe ich schon ausprobiert:

Bmp.LoadFromResourceName(HInstance, Uppercase(AClass.ClassName));
Bmp.LoadFromResourceName(FindClassHInstance(AClass ), Uppercase(AClass.ClassName));


Hat beides nicht geklappt: "Resource TEDIT nicht gefunden".
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Komponentenentwicklung/Komponenten-Icons anzeigen

  Alt 6. Jul 2022, 02:02
Die Ressource existiert aber?
Man könnte mal mit dem RessourceHacker in die BPL reinsehen.


HInstance kann nicht funktionieren, außer die Ressource liegt in der EXE, bzw. in einer DLL.

FindClassHInstance ist eigentlich richtig.
Aber man könnte auch die DLL/BPL-Handle von GetModuleHandle/LoadLibrary/LoadLibraryEx/LoadPackage verwenden.

mal ganz billig schnell in einer EXE getestet (daher LoadPackage, weil dort ja diese Packages normal nicht drin sind)
Delphi-Quellcode:
Image.LoadFromResourceName(LoadPackage('dclrtl280.bpl'), UpperCase('TBluetoothLE'));
Image.LoadFromResourceName(LoadPackage('dclrtl280.bpl'), 'TBluetoothLE');
Groß-/Kleinschreibung ist erwartungsbemäß egal, da Ressourcen-API case-insensitive ist.

Delphi-Quellcode:
Image.LoadFromResourceName(FindClassHInstance(TImage), TImage.ClassName);
Image.LoadFromResourceName(LoadPackage('dclstd280.bpl'), 'TImage');
Image.LoadFromResourceName(LoadPackage('vcl280.bpl'), 'TImage'); // hier nicht erwartet, aber dennoch probiert
Aber hier hängt es auch, denn das Bild ist wirklich nicht in diesen Packages drin.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.021 Beiträge
 
Delphi 12 Athens
 
#5

AW: Komponentenentwicklung/Komponenten-Icons anzeigen

  Alt 6. Jul 2022, 08:49
Die Delphi IDE verwendet seit 10.2.2 PNG-Icons für die Komponenten (siehe https://blogs.embarcadero.com/new-in...mponent-icons/). Diese haben aber andere Namen für die Ressourcen und sind auch nicht als TBitmap einzulesen sonder als TPngImage.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort


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:32 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