Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#1

Panel am Neuzeichnen hindern (wg. neuen Controls)

  Alt 24. Apr 2008, 18:46
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?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat