Einzelnen Beitrag anzeigen

hzzm

Registriert seit: 8. Apr 2016
99 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Spezieller TFrame

  Alt 19. Mär 2019, 10:15
Delphi-Version: 10 Seattle
Guten Morgen,

ich steh grad irgendwie auf dem Schlauch:

Gibt es eine Moeglichkeit, einen TFrame zu definieren, bei dessen Kindern klar ist, dass sie immer ein
Code:
Icon: TImage;
haben?

Im constructor einer Klasse, wo ich normalerweise einen TFrame erstelle, moechte ich einfach TMeinSpeziellerFrame neben der Angabe eines AIcon: TImage erstellen, so dass dem Frame das Icon direkt mitgegeben wird:

Code:
TMyFrameClass = class(TFrame)
  Icon: TImage;
end;

TMyClass = class
public
  FMyFrameList: TObjectDictionary<String, TMyFrameClass>;
  constructor Create(AOwner: TComponent; AIcon: TImage);
end;

implementation

constructor TMyClass.Create(AOwner: TComponent; AIcon: TImage);
begin
  FMyFrameList := TObjectDictionary<String, TMyFrameClass>.Create;
  FMyFrameList.Add('ExampleFrame', TMyFrameClass.Create);
  FMyFrameList['ExampleFrame'].Icon := AIcon;
end;
Das Urproblem ist also, dass ich den TFrame im Formdesigner in der .dfm nicht von TMyFrameClass ableiten kann.
Der muss erzwungenermassen von TFrame abgeleitet werden (nicht von dessen Nachfahren), sonst spackt die IDE und ich kann den Frame im designer nicht mehr oeffnen.

Wie wuerdet Ihr diese Sachlage loesen?
  Mit Zitat antworten Zitat