anchor.diff:  end;
   
   
  +procedure TKMPanel.Enlarge(aChild: TKMControl);
  +begin
  +  if Self = nil then Exit;
  +
  +  fLeft := Left + Min(0, aChild.Left);
  +  fTop := Top + Min(0, aChild.Top);
  +  fWidth := Width - Min(0, aChild.Left);
  +  fHeight := Height - Min(0, aChild.Top);
  +  fWidth := Width + Max(0, aChild.Right - Right);
  +  fHeight := Height + Max(0, aChild.Bottom - Bottom);
  +
  +  fParent.Enlarge(Self);
  +end;
  +
  +
   function TKMPanel.AddChild(aChild: TKMControl): Integer;
   begin
     if ChildCount >= Length(Childs) then
  
positive.code: // Check Control including all its Parents to see if Control is actually displayed/visible
  function TKMControl.GetVisible: Boolean;
  begin
    Result := fVisible and ((Parent = nil) or Parent.Visible);
  end;
  
  
negative.code:   fScrollBarV.OnChange := ScrollChanged;
    fScrollBarV.WheelStep := 10;
  
    if saHorizontal in aScrollAxisSet then
      Enlarge(fScrollBarH);
  
    if saVertical in aScrollAxisSet then
      Enlarge(fScrollBarV);
  
    fClipRect := KMRect(Left, Top, Left + Width, Top + Height);
  end;
  
  