anchor.diff:    Inc(CtrlPaintCount);
   
     if SHOW_CONTROLS_FOCUS and (csFocus in State) then
  -  begin
  -    TKMRenderUI.WriteShape(AbsLeft-1, AbsTop-1, Width+2, Height+2, $00000000, $FF00D0FF);
  -    TKMRenderUI.WriteShape(AbsLeft-2, AbsTop-2, Width+4, Height+4, $00000000, $FF00D0FF);
  -  end;
  +    TKMRenderUI.WriteOutline(AbsLeft-2, AbsTop-2, Width+4, Height+4, 2, $FF00D0FF);
  +
  +  if MODE_DESIGN_CONTROLS and (csOver in State) then
  +    TKMRenderUI.WriteOutline(AbsLeft-2, AbsTop-2, Width+4, Height+4, 2, $FFFFD000);
   
     if SHOW_CONTROLS_ID then
       TKMRenderUI.WriteText(AbsLeft+1, AbsTop, fWidth, IntToStr(fID), fntMini, taLeft);
  
positive.code: end;
  
  
  function TKMControl.KeyDown(Key: Word; Shift: TShiftState): Boolean;
  var Amt: Byte;
  begin
    Result := MODE_DESIGN_CONTROLS;
  
    if Assigned(fOnKeyDown) then
      Result := fOnKeyDown(Self, Key, Shift);
  
    if MODE_DESIGN_CONTROLS then
    begin
      Amt := 1;
      if ssCtrl  in Shift then Amt := 10;
      if ssShift in Shift then Amt := 100;
  
      if Key = VK_LEFT  then fLeft := fLeft - Amt;
      if Key = VK_RIGHT then fLeft := fLeft + Amt;
      if Key = VK_UP    then fTop  := fTop  - Amt;
      if Key = VK_DOWN  then fTop  := fTop  + Amt;
    end
  end;
  
  
  
negative.code: 
    if Assigned(fOnKeyUp) then
      Result := fOnKeyUp(Self, Key, Shift);
  end;
  
  
  