![]() |
Eigene Eigenschaften beim Vererben
Ich habe es ja nun mit einem Button geschafft zu vererben hab im ein Hintergrund zugewiesen mit TImage nur ich konnte ihm durch den Objektinspector kein Bild zuweißen da stand dan in der Zeile TPicture aber ich kontne keins zuweisen :( wieso ??
Code:
type TMyNewForm = class(TButton)
private FImage: TImage; procedure SetImage(Value: TImage); public constructor Create(AOwner: TComponent); override; destructor Destroy; override; published property Hintergrundbild: TImage read FImage write SetImage; end; constructor TMyNewForm.Create(AOwner: TComponent); begin inherited Create(AOwner); FImage := TImage.Create(Self); FImage.Parent := Self; end; destructor TMyNewForm.Destroy; begin FreeAndNil(FImage); inherited Destroy; end; procedure TMyNewForm.SetImage(Value: TImage); begin if FImage <> Value then FImage.Assign(Value); end; |
Re: Eigene Eigenschaften beim Vererben
Zitat:
Was kannst du denn nun nicht zuweisen. Gibts ne Fehlermeldung? Wo soll das Hintergrundbild denn erscheinen. Auf der Form oder auf dem Button? Ein paar Zusatzinfos wären nicht schlecht. |
Re: Eigene Eigenschaften beim Vererben
das es nun newform heißt ist deswegen weil es eigentlich eien Form werden soll nur das klappt auch net anderer Thread deswegen test mit button =)
der Hintergrund (besser gesagt TImage) sol sich über das ganze Control verteilen und in der Eigenschaft Hintergrudnbild sollte man halt ein JPG oder PNG bild auswählen können halt das die Form mit einem TImage bespannt ist und halt auch über den Inspector ändern kann =) |
Re: Eigene Eigenschaften beim Vererben
Sorry,
aber ich versteh immer noch nicht. WAS klappt denn nicht :gruebel: |
Re: Eigene Eigenschaften beim Vererben
Hi,
versuche es so:
Delphi-Quellcode:
type TMyNewForm = class(TButton)
private FImage: TImage; procedure SetPicture(Value: TPicture); function GetPicture : TPicture; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; published property Hintergrundbild: TPicture read GetImage write SetImage; end; constructor TMyNewForm.Create(AOwner: TComponent); begin inherited Create(AOwner); FImage := TImage.Create(Self); FImage.Parent := Self; end; destructor TMyNewForm.Destroy; begin FreeAndNil(FImage); inherited Destroy; end; procedure TMyNewForm.SetPicture(Value: TPicture); begin if FImage.Picture <> Value then FImage.Picture.Assign(Value); end; function TMyNewForm.GetPicture: TPicture; begin Result := FImage.Picture; end; |
Re: Eigene Eigenschaften beim Vererben
hab nun ein Bild dazu gemacht =)
Bild: ![]() wie ihr sehen könnt habe ich auf der linken Form meinen Button gemacht und dem eine Eigenschaft Hinterhrundbild eingefügt was man rechts im Inspector sieht schön und gut bisher :D nur das Problem ist ich kan Picture nix zuweisen :( kp wieso o.O und ausserdem brauch ich nicht alle Eigenschaften von TImage eigentlich nur Picture und eine Eigene ... Kann mir jemand helfen ? |
Re: Eigene Eigenschaften beim Vererben
Zitat:
Um das Zeichnen des Bildes musst dich aber schon selbst kümmern. Kuck dir mal die Eigenschaft Canvas deines Forms an. Da kannst du direkt aufs Form zeichnen. |
Re: Eigene Eigenschaften beim Vererben
es sol ja nicht auf die Form in canvas gemalt werden o.O es muss ein Image / picture sein weil ich die Daten davon brauche =)
udn wi emeisnt du selber malen o.O hab gedacht wenn man der eigenschaft Picture ein Bild zuweist is es ein Bild ? |
Re: Eigene Eigenschaften beim Vererben
Zitat:
Canvas ist sozusagen die Zeichenwand eines Controls. Darauf musst du dein Bild darstellen... Schau mal in die OH rein, da steht alles dazu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 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