anchor.diff:  var
     I: Integer;
   begin
  -  Result.Left := 0; //Its fine to have 0 here
  -  Result.Top := 0;
  -  Result.Right := Width;
  -  Result.Bottom := Height;
  -  for I := 0 to ChildCount - 1 do
  -  begin
  -    if not Childs[I].IsPainted then
  +  Result := KMRECT_ZERO; //Zero rect, by default
  +
  +  for I := 0 to fChildsPanel.ChildCount - 1 do
  +  begin
  +    if not fChildsPanel.Childs[I].IsPainted then
         Continue;
   
  -    if Childs[I].Left < Result.Left then
  +    if fChildsPanel.Childs[I].Left < Result.Left then
         Result.Left := Childs[I].Left;
   
  -    if Childs[I].Top < Result.Top then
  -      Result.Top := Childs[I].Top;
  -
  -    if Childs[I].Right > Result.Right then
  -      Result.Right := Childs[I].Right;
  -
  -    if Childs[I].Bottom > Result.Bottom then
  -      Result.Bottom := Childs[I].Bottom;
  +    if fChildsPanel.Childs[I].Top < Result.Top then
  +      Result.Top := fChildsPanel.Childs[I].Top;
  +
  +    if fChildsPanel.Childs[I].Right > Result.Right then
  +      Result.Right := fChildsPanel.Childs[I].Right;
  +
  +    if fChildsPanel.Childs[I].Bottom > Result.Bottom then
  +      Result.Bottom := fChildsPanel.Childs[I].Bottom;
     end;
   end;
   
  
positive.code:   TKMScrollPanel = class(TKMPanel)
    private
      fClipRect: TKMRect;
      fScrollBarH: TKMScrollBar;
      fScrollBarV: TKMScrollBar;
      fScrollAxisSet: TKMScrollAxisSet;
  
negative.code: 
  function TKMScrollPanel.AddChild(aChild: TKMControl): Integer;
  begin
    if fChildsPanel = nil then
      Result := inherited AddChild(aChild)
    else
    begin
      Result := fChildsPanel.AddChild(aChild);
  
      aChild.fOnHeightChange := UpdateScrollV;
      aChild.fOnWidthChange := UpdateScrollH;
      aChild.fOnPositionSet := UpdateScrolls;
      aChild.fOnChangeVisibility := UpdateScrolls;
      aChild.fOnChangeEnableStatus := UpdateScrolls;
    end;
  end;
  
  
  