![]() |
Neue Eigenschaft für Image und Label
Hi allerseits!
Wie kann man einem Image eine neue boolean-Eigenschaft namens "ausgewaehlt", und einem Label eine boolean-Eigenschaft "besetzt" hinzufügen?? Schon mal Danke im Vorraus ;) |
Re: Neue Eigenschaft für Image und Label
das geht über Vererbung. Du musst also eine neue Komponente erstellen welche von TLabel bzw. TImage erbt und fügst dann die Eigenschaft hinzu.
|
Re: Neue Eigenschaft für Image und Label
Dazu musst du eine neue Komponente von TImage bzw. TLabel ableiten, und im published Teil der Klassendefinition deine neuen Eigenschaften definieren.
|
Re: Neue Eigenschaft für Image und Label
... wobei man in der Praxis eher so vorgeht, dass man nur Standardcontrols verwendet (also keine Vererbung) und die zusätzlichenen Informationen in einer eigene Klasse speichert.
|
Re: Neue Eigenschaft für Image und Label
Ok ich hab jetzt das neue Ding abgeleitet. Wie mach ich das hier jetzt genau?
Zitat:
|
Re: Neue Eigenschaft für Image und Label
In etwa so:
Delphi-Quellcode:
Danach erstellst du ein Delphi Package (Datei->Neu->Weitere->Package), speicherst dieses unter einem beliebigen Namen ab, und fügst die uOrpheusImage unit hinzu. Das Package compilieren und installieren, und du solltest eine Meldung kriegen, dass die Komponente TOrpheusImage installiert ist.
unit uOrpheusImage ;
interface uses SysUtils, Classes, graphics, ComCtrls ; type TOrpheusImage = class (TImage) published property ausgewaehlt : boolean read Fausgewaehlt write Fausgewaehlt ; end ; procedure Register ; implementation procedure Register ; begin RegisterComponents(Orpheus, [TOrpheusImage ]); end ; end. In der VCL Palette ist jetzt eine Register Orpheus aufgetaucht mit deiner Image Komponente mit der zusätzlichen Eigenschaft. |
Re: Neue Eigenschaft für Image und Label
RegisterComponents erwartet als ersten Pasrameter IMO einen String.
|
Re: Neue Eigenschaft für Image und Label
warum dazu nicht die Tag-Eigenschaft mißbrauchen?
Delphi-Quellcode:
Gruß frank
if boolean(image1.tag) then
showmessage('ausgewählt (tag<>0)') else showmessage('nicht ausgewählt (tag=0)'); |
Re: Neue Eigenschaft für Image und Label
Zitat:
|
Re: Neue Eigenschaft für Image und Label
Zitat:
- die standard-controls nehmen (also da schonmal gar nix machen) - eine eigene Klasse für die Hintergrundinfos erstellen (ist imho oop ;) ) - ein objekt dieser klasse (bzw. Zeiger darauf) and das Standard-control anhängen (tag oder data-property) wo sind da deine Bedenken? ist in meinen Augen ein sehr sparsamer / übersichtlicher code und OOP ist das auch, trotz fehlender Vererbung des Ursprungscontrols Gruß Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 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