(*) Aus diesem Grund mag ich auch keine TCollection.
Hab grad auf TCollection umgestellt
Und dann kann ich auch im
OI zur DT Items hinzufügen. Als ich es noch über TObjectList gemacht hatte, ging das nicht.
Jetzt hab ich das auch besser verstanden.
Dafür gibt es eine Klasse, die diese Templates verwaltet (TemplateManager). Die Klasse hat eine Methode
Delphi-Quellcode:
//
Function Template(aTemplateType : TTemplateType) : TLayoutTemplate;
//
Der Urlaubsplan instantiiert einen TemplateManager. Im
OI kannst Du die Farben für die einzelnen Eintragstypen (TTemplateType) dann konfigurieren.
Dieser Satz hat mich zu der Annahme geführt, dass es eine vordefiniert Klasse TLayoutTemplate o.ä. gibt.
Beim TEintrag.Create die Typenliste mit zu übergeben hatte ich mir auch schon so vorgestellt. Werde ich gleich mal ausprobieren. Mal sehen wie weit ich komme.
Aber es stellt sich mir noch ein anderen Problem: Das Neuzeichnen wenn Einträge hinzugefügt werden.
Als Beispiel nehme ich mal ein TListView. Wenn ich im
OI Columns oder Items hinzufüge, dann wird das sofort im ListView umgesetzt und dargestellt.
So würde ich das auch gerne machen.
Aber wie erfährt meine Basisklasse, dann ist der Klasse TEinträge ein Eintrag hinzugefügt wurde? Ich hab schon überlegt das über eine Windows-Message zu machen, aber da meine Basisklasse von TGraphicControl abgeleitet ist, hat sie kein
Handle.