anchor.diff:    fLastClickPos := KMPOINT_ZERO;
     fIsHitTestUseDrawRect := False;
   
  +//  fKeyPressList := TList<TKMKeyPress>.Create;
  +
     if aParent <> nil then
     begin
       fID := aParent.fMasterControl.GetNextCtrlID;
  
positive.code: 
  
  function TKMControl.KeyDown(Key: Word; Shift: TShiftState): Boolean;
  begin
    Result := MODE_DESIGN_CONTROLS;
  
    if Assigned(fOnKeyDown) then
  
negative.code: end;
  
  
  { TKMControl.TKMKeyPress }
  //function TKMControl.TKMKeyPress.ToString: string;
  //var
  //  kindStr: string;
  //begin
  //  case Kind of
  //    kpkDown:  kindStr := 'Down';
  //    kpkPress: kindStr := 'Press';
  //    else      kindStr := 'unknown';
  //  end;
  ////  Result := Format('T=%d %s Key=%d C=%s ', [Integer(Time), kpkPress, Key, String(C)]);
  //  Result := Format('T=%d %s C=%d ', [Integer(Time), kindStr, {Key, }Ord(c)]);
  //end;
  
  
  end.
  
  