anchor.diff:      // only visual (visible) nodes
       function    NextVisualNode(ANode: TfpgTreeNode): TfpgTreeNode;
       function    PrevVisualNode(ANode: TfpgTreeNode): TfpgTreeNode;
  +    procedure   BeginUpdate;
  +    procedure   EndUpdate;
       property    Font: TfpgFont read FFont;
       // Invisible node that starts the tree
       property    RootNode: TfpgTreeNode read GetRootNode;
  
positive.code:   FFont := fpgGetFont('#Label1');
    Width := 150;
    Height := 100;
  
    FHScrollbar := TfpgScrollbar.Create(self);
    FHScrollbar.Orientation := orHorizontal;
  
negative.code:   end;
  end;
  
  procedure TfpgTreeView.BeginUpdate;
  begin
    Inc(FUpdateCount);
    Updating;
  end;
  
  procedure TfpgTreeView.EndUpdate;
  begin
    if FUpdateCount > 0 then
    begin
      Dec(FUpdateCount);
      if FUpdateCount = 0 then
      begin
        Updated;
        RePaint;
      end;
    end;
  end;
  
  function TfpgTreeView.NextNode(ANode: TfpgTreeNode): TfpgTreeNode;
    //----------------
    procedure _FindNextNode;
  