anchor.diff:  
   
     TfpgEditCurrency = class(TfpgBaseNumericEdit)
  -  private
  -    fDecimals: integer;
     protected
       function    GetValue: Currency; virtual;
       procedure   SetValue(const AValue: Currency); virtual;
  -    procedure   SetShowThousand;
       procedure   SetDecimals(AValue: integer);
  -    procedure   Format; override;
       procedure   HandleKeyChar(var AText: TfpgChar; var shiftstate: TShiftState; var consumed: Boolean); override;
       procedure   HandleKeyPress(var keycode: word; var shiftstate: TShiftState; var consumed: Boolean); override;
     public
       constructor Create(AOwner: TComponent); override;
  +    property    Alignment;
       property    OldColor;
       property    Text;
     published
  -    property    Alignment;
  -    property    Decimals: integer read fDecimals write SetDecimals;
  +    property    Decimals: integer read FDecimals write SetDecimals;
       property    NegativeColor;
       property    DecimalSeparator;
       property    ThousandSeparator;
  
positive.code:     fpgStyle.DrawString(Canvas, -FDrawOffset + FSideMargin, 3, FVisibleText, Enabled);
      Canvas.ClearClipRect;
    end;
    
  begin
    Canvas.ClearClipRect;
    r.SetRect(0, 0, Width, Height);
  
negative.code:     on E: EConvertError do
        Text := '';
    end;
    FormatEdit;
  end;
  
  procedure TfpgEditCurrency.SetDecimals(AValue: integer);
  begin
    if (AValue < 0) or (AValue > 4) then
      Exit; // =>
    if FDecimals <> AValue then
      FDecimals := AValue
  end;
  
  procedure TfpgEditCurrency.HandleKeyPress(var keycode: word; var shiftstate: TShiftState; var consumed: Boolean);
  begin
    case keycode of
      keyReturn, keyPEnter, keyTab:
        if FDecimals > 0 then
        begin
          if Pos(DecimalSeparator, fText) = 0 then
            begin
            fText := fText + DecimalSeparator;
            Inc(FCursorPos);
            end;
          if UTF8Length(fText)-Pos(DecimalSeparator, fText) < FDecimals then
            while UTF8Length(fText)-Pos(DecimalSeparator, fText) < FDecimals do
            begin
              fText := fText + '0';
              Inc(FCursorPos);
  