anchor.diff:          end;
       ckPaste:
           begin
  -          DoPaste;
  +          DoPaste(fpgClipboard.Text);
             hasChanged := True;
           end;
       ckCut:
  
positive.code:   fpgClipboard.Text := SelectionText;
  end;
  
  procedure TfpgBaseEdit.DoPaste;
  var
    s: string;
    prevval: TfpgString;
  begin
    prevval := FText;
    DeleteSelection;
    s := fpgClipboard.Text;
  
    if (FMaxLength > 0) then
      if UTF8Length(FText) + UTF8Length(s) > FMaxLength then
  
negative.code:   RePaint;
  end;
  
  procedure TfpgBaseEdit.InsertAtCursorPos(const AText: TfpgString);
  begin
    if AText <> '' then
      DoPaste(AText);
  end;
  
  function TfpgBaseEdit.GetClientRect: TfpgRect;
  begin
    case BorderStyle of
  