Registriert seit: 17. Feb 2005
101 Beiträge
|
Re: Treeview-Aktualisierung beim Befüllen deaktivieren!?
18. Apr 2005, 16:32
Noch ein Hinweise BeginUpdate / EndUpdate immer paarweise aufrufen. Intern wird dies als Zähler veraltet (0=Anzeige aktiviert). Es gib aber keinen "Unterlaufschutz". Wenn also mal ein EndUpdate zuviel aufgerufen wurde, zählt dieser munter ins Minus und die 0 wird danach an unvorhergesehen Stellen erreicht. Leider kann man den UpdateCounter nicht direkt abfragen. Hier hilft der "Privat field hack":
Type THackTreeNodes = class(TPersistent) //"Privat Field Hack"
private //anders kommen wir nicht an FUpDateCount heran
FOwner: TCustomTreeView;
FUpdateCount: Integer;
FNodeCache: TNodeCache;
FReading: Boolean;
end;
Function TreeViewUpdateCount(aTreeView: TTreeView):Integer; //UpdateCount lässt sich nur mit einem Hack auslesen
Begin
Result := THackTreeNodes(aTreeView.Items).FUpdateCount;
end;
Gruß PMM
|