anchor.diff:    Y: Integer;
     X: Integer;
     CaretScroll: Boolean;
  +  HasChanged: boolean;
   begin
     {$IFDEF gDEBUG}
     writeln('>> TfpgBaseTextEdit.HandleKeyPress');
     {$ENDIF}
   //  inherited HandleKeyPress(keycode, shiftstate, consumed);
  +  case CheckClipboardKey(keycode, shiftstate) of
  +    ckCopy:
  +      begin
  +//        DoCopy;
  +      end;
  +
  +    ckPaste:
  +      begin
  +//        DoPaste(fpgClipboard.Text);
  +//        if not ReadOnly then
  +//          HasChanged := True;
  +      end;
  +
  +    ckCut:
  +      begin
  +//        DoCopy;
  +//        DeleteSection;
  +      end;
  +  end;
   
     { Add lines as we go, so we can cursor past EOF. }
     { todo: This behaviour should be optional }
  
positive.code: 
      keyTab:
          begin
          end;
  
      keyReturn:
  
negative.code: implementation
  
  uses
    fpg_dialogs,
  //  fpg_constants,
    fpg_stringutils,
    fpg_utils,
    math,
    dbugintf;
  
  
  function GetNextWord(SLine: TfpgString; var PosX: Integer): Boolean;
  