Einzelnen Beitrag anzeigen

Dejan Vu
(Gast)

n/a Beiträge
 
#31

AW: Komponente mit Objekten, die Eigenschaften der Komponente benötigen

  Alt 19. Sep 2014, 12:47
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.
Mach es doch. Der TEintrag hat ein Event 'OnChange'. Das ruft ein Eintrag auf, wenn sich irgendwas in ihm verändert hat. Und dein TUrlaubsplan 'subscribed' sich auf dieses Event. Einfach ausgedrückt: Im 'AddEintrag' setzt Du das Event.

Delphi-Quellcode:
Procedure TUrlaubsPlan.ItemChanged (Sender : TObject);
Begin
  Assert (Sender is TEintrag, 'Nee, Du darfst diesen Handler nur an TEintrag-Instanzen bepseln');
  Repaint....
End;

Procedure TUrlaubsPlan.AddEntry (...);
Var
  derNeueEntrag : TEintrag;

begin
  ...
  derNeueEintrag.OnChanged := ItemChangeD;
  ...
End;
  Mit Zitat antworten Zitat