Hi,
Ich habe hier eine Anwendung, die auf einem Panel (ParentPanel) bestimmte andere Panels anzeigt. Welche angezeigt werden, ist abhängig von einer TreeView. Klick ich also auf den Knoten #1, dann soll z.B. Panel A,B,C angezeigt werden, bei Knoten #2 nur B und bei Knoten #3 gar nichts.
Wenn ich nun zwischne den Knoten hin und her klicke, wird ParentPanel ständig neu befüllt. Leider flackert das. Is ja klar, denn erst schmeiss ich die alten Panel weg, dann pack ich die neuen Panel rauf.
Gibt es eine Möglichkeit, ähnlich wie z.B. bei den TStringList.Items (BeginUpdate/EndUpdate) das ParentPanel am Neuzeichnen zu hindern? Ich stelle mir sowas vor:
Delphi-Quellcode:
ParentPanel.BeginUpdate; // Hach wär das schön
Try
RemovePanelsFrom (ParentPanel); // Alte Panel löschen
FillPanels (ParentPanel, MyTreeView.Selected); // Neue Panel reinpacken
Finally
ParentPanel.EndUpdate;
End;
Also: Gibt es so eine Methode, die dem Panel verbietet, sich neu zu zeichnen?