anchor.diff:          itm.Enabled := Text <> '';
       end;
     end;
  +end;
  +
  +procedure TfpgBaseEdit.SetReadOnly(const AValue: Boolean);
  +begin
  +  if FReadOnly = AValue then exit;
  +  FReadOnly := AValue;
   end;
   
   function TfpgBaseEdit.GetMarginAdjustment: integer;
  
positive.code:     property    MaxLength: Integer read FMaxLength write FMaxLength;
      property    PasswordMode: Boolean read FPasswordMode write SetPasswordMode default False;
      property    PopupMenu: TfpgPopupMenu read FPopupMenu write FPopupMenu;
      property    Text: String read FText write SetText;
      property    OnChange: TNotifyEvent read FOnChange write FOnChange;
    public
  
negative.code:     FOnChange: TNotifyEvent;
      FMaxLength: integer;
      FSelecting: Boolean;
      FReadOnly: Boolean;
      procedure   Adjust(UsePxCursorPos: boolean = false); virtual;
      procedure   AdjustTextOffset(UsePxCursorPos: boolean); virtual;
      procedure   AdjustDrawingInfo; virtual;
  