anchor.diff:  { Recursing function to find topmost control (excl. Panels)}
   function TKMMasterControl.HitControl(X,Y: Integer; aIncludeDisabled: Boolean=false): TKMControl;
     function ScanChild(P: TKMPanel; aX,aY: Integer): TKMControl;
  -  var i: Integer;
  +  var I: Integer;
     begin
       Result := nil;
  -    for i:=P.ChildCount downto 1 do
  -    if P.Childs[i].fVisible then //ignore invisible controls
  -      if (P.Childs[i] is TKMPanel) then begin
  -        Result := ScanChild(TKMPanel(P.Childs[i]),aX,aY);
  +    //Process controls in reverse order since last created are on top
  +    for I := P.ChildCount downto 1 do
  +    if P.Childs[I].fVisible then //If we can't see it, we can't touch it
  +    begin
  +      //Scan Panels childs first, if none is hit - hittest the panel
  +      if (P.Childs[I] is TKMPanel) then
  +      begin
  +        Result := ScanChild(TKMPanel(P.Childs[I]),aX,aY);
           if Result <> nil then exit;
  -      end else
  -      if P.Childs[i].HitTest(aX,aY,aIncludeDisabled) then begin
  -        Result := P.Childs[i];
  -        exit;
         end;
  +      if P.Childs[I].HitTest(aX, aY, aIncludeDisabled) then
  +      begin
  +        Result := P.Childs[I];
  +        Exit;
  +      end;
  +    end;
     end;
   begin
     Result := ScanChild(fCtrl, X, Y);
  
positive.code: 
    if aScrollAxis = sa_Vertical then
    begin
      fScrollDec := TKMButton.Create(aParent, aLeft, aTop, aWidth, aWidth, 591, rxGui, aStyle);
      fScrollInc := TKMButton.Create(aParent, aLeft, aTop+aHeight-aWidth, aWidth, aWidth, 590, rxGui, aStyle);
    end;
    if aScrollAxis = sa_Horizontal then
    begin
      fScrollDec := TKMButton.Create(aParent, aLeft, aTop, aHeight, aHeight, 2, rxGui, aStyle);
      fScrollInc := TKMButton.Create(aParent, aLeft+aWidth-aHeight, aTop, aHeight, aHeight, 3, rxGui, aStyle);
    end;
    fScrollDec.OnClick := DecPosition;
    fScrollDec.OnMouseWheel := MouseWheel;
    fScrollInc.OnClick := IncPosition;
    fScrollInc.OnMouseWheel := MouseWheel;
    UpdateThumbPos;
    UpdateThumbSize;
  end;
  
  
  procedure TKMScrollBar.SetLeft(aValue: Integer);
  begin
    inherited;
  
    fScrollDec.Left := Left;
  
    if fScrollAxis = sa_Vertical then
      fScrollInc.Left := Left;
  
    if fScrollAxis = sa_Horizontal then
      fScrollInc.Left := Left + Width - Height;
  end;
  
  
  procedure TKMScrollBar.SetTop(aValue: Integer);
  begin
    inherited;
  
    fScrollDec.Top := Top;
  
    if fScrollAxis = sa_Vertical then
      fScrollInc.Top := Top + Height - Width;
  
    if fScrollAxis = sa_Horizontal then
      fScrollInc.Top := Top;
  end;
  
  
  procedure TKMScrollBar.SetHeight(aValue: Integer);
  begin
    inherited;
    if fScrollAxis = sa_Vertical then
      fScrollInc.Top := Top+Height-Width;
  
    UpdateThumbSize; //Update Thumb size
    UpdateThumbPos;
  end;
  
  
  
negative.code: begin
    inherited;
  
    //Update Thumb size
    UpdateThumbSize;
  end;
  
  
  