anchor.diff:    Canvas.SetColor(clText1);
     img := fpgImages.GetImage(imgname);
     if img <> nil then
  -    Canvas.DrawImage(x + w div 2 - (img.Width div 2) + dx, y + h div 2 - (img.Height div 2) + dy, img);
  +  begin
  +    if ButtonEnabled then
  +      Canvas.DrawImage(x + w div 2 - (img.Width div 2) + dx, y + h div 2 - (img.Height div 2) + dy, img)
  +    else
  +    begin
  +      imgdisabled := img.CreateDisabledImage;
  +      Canvas.DrawImage(x + w div 2 - (img.Width div 2) + dx, y + h div 2 - (img.Height div 2) + dy, imgdisabled);
  +      imgdisabled.Free;
  +    end;
  +  end;
   end;
   
   // only called from inside HandlePaint so no need for BeginDraw..EndDraw calls
  
positive.code:   Canvas.BeginDraw; // Do not remove - Scrollbars do painting outside HandlePaint as well!
    if Orientation = orVertical then
    begin
      DrawButton(0, 0, Width, Width, 'sys.sb.up', FScrollbarDownPart = sbpUpBack);
      DrawButton(0, Height-Width, Width, Width, 'sys.sb.down', FScrollbarDownPart = sbpDownForward);
    end
    else
    begin
      DrawButton(0, 0, Height, Height, 'sys.sb.left', FScrollbarDownPart = sbpUpBack);
      DrawButton(Width-Height, 0, Height, Height, 'sys.sb.right', FScrollbarDownPart = sbpDownForward);
    end;
  
    DrawSlider(FRecalc);
  
negative.code:   FScrollbarDownPart := sbpNone;
    
    if WasPressed then
      Invalidate;
  end;
  
  procedure TfpgScrollBar.HandleMouseMove(x, y: integer; btnstate: word; shiftstate: TShiftState);
  