Einzelnen Beitrag anzeigen

oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#3

Re: größe der Komponente automatisch anpassen

  Alt 11. Mai 2009, 09:07
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
42
  Mit Zitat antworten Zitat