Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Image erweitern (https://www.delphipraxis.net/143627-image-erweitern.html)

Grolle 19. Nov 2009 19:57


Image erweitern
 
Hallo,

wie kann ich ein TImage so erweitern, dass ich im Objektinspektor auf die Canvas.Font Eigenschaft zugreifen kann?

Viele Grüße ...

himitsu 19. Nov 2009 20:08

Re: Image erweitern
 
garnicht (denk ich mir mal so)

Man könnte sich zwar ein Puplic-Property erstellen, welches zum Font-Property des Canvas umleitet, allerdings werden die Eigenschaften des Canvas nicht in der DFM gespeichert, weswegen das vermutlich nichts bringt, da diese Einstellungen dann wohl jedesmal vergessen werden.

Das Font-Property des TImages kann man sich sichtbar machen.
Delphi-Quellcode:
type
  TImageEx = class(TImage)
  published
    property Font;
  end;
einfach TImage ableiten und als neue Komponente registrieren

Grolle 19. Nov 2009 20:13

Re: Image erweitern
 
Hi,

das hat ja schonmal super geklappt. Gibt es auch eine Eigenschaft Caption oder Text, oder muss ich diese selber über TextOut implementieren?

Viele Grüße ....

himitsu 19. Nov 2009 20:29

Re: Image erweitern
 
Die Eigenschaft gibt es ... diese Beiden wurden von TControl geerbt,
Delphi-Quellcode:
type
  TImageEx = class(TImage)
  published
    property Font;
    property Text;
  end;
ABER, darstellen mußt du den Text dann selber, also Diesen "irgendwo" auf das Canvas zeichen,
da hierfür natürlich nichts implementiert wurde.

Theoretisch gibt es einen FText: PChar als Speicher, aber ob dort wirklich der Text reinkopiert wird
oder ob du auch noch die entsprechenden Schreib-/Leseroutinen überschreiben mußt, daß weiß ich jetzt nicht ... das müßte man mal ausprobieren.

Grolle 19. Nov 2009 20:30

Re: Image erweitern
 
Hi,

alles klar. Vielen Dank für die Hilfe :thumb:

himitsu 19. Nov 2009 20:33

Re: Image erweitern
 
hatte grad, bezüglich .Text noch was hinzueditiert,
also da müßtest du erstmal schauen, ob der auch gespeichert wird.


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