Moin BAMatze,
als erstes würde ich dir empfehlen dir die Komponente LabeledEdit anzuschauen. Die wird von Hause aus in Delphi mitgeliefert.
Das nächste Thema Größenanpassung. Du kannst natürlich auf die Änderung des Fonts reagieren. Ich glaube da gibt es eine protected Methode die du überscheiben kannst um auf die Änderung der Fontgröße zu reagieren. Müßte ich aber noch mal suchen um den Code zu finden wo ich sowas mal gemacht habe.
Das Thema TPersistent in deinem Post soll sicher die Implementation eines Wrappers sein. Da bindet man in Published der eigenen Komponente ein Objekt einer eigenen Klasse ein um Eigenschaften im Objektinspektor als Untereinträge anzuzeigen (steht dann ein + davor). Diese Klasse ist von TPersistent abgeleitet.
Bsp:
Delphi-Quellcode:
type
TMyNewPropertys = class(TPersistent)
privat
FFirstProperty : Boolean;
FSecondProperty : String;
published
property FirstProperty : Boolean read FFirstProperty write FFirstProperty;
property SecondProperty : Boolean read FSecondProperty write FSecondProperty;
end;
....
TMyComponent = class(TCustomControl)
private
FAdditionalPropertys : TMyNewPropertys;
...
published
property AdditonalPropertys : TMyNewPropertys read FAdditonalPropertys write FAdditonalPropertys;
...
constructor TMyComponent.Create(AOwner : TComponent);
begin
....
FAdditionalPropertys := TMyNewPropertys.Create;
end;
Üblicherwereise benutzt mal für die Eigenschaften des Wrappers Getter- und Settermethoden um in MyComponent Eigenschaften anderer Klassen zu ändern. Ich empfehle dir mal unter dem Stichwort Wrapper zu suchen. Da gibt es sicher eine Menge zu in der
DP.
Gruß oki