anchor.diff:  end;
   
   
  +//DoClick is called by keyboard shortcuts
  +//It's important that Control must be:
  +// IsVisible (can't shortcut invisible/unaccessible button)
  +// Enabled (can't shortcut disabled function, e.g. Halt during fight)
  +function TKMButton.DoClick:boolean;
  +begin
  +  if IsVisible and Enabled then begin
  +    TKMControlsCollection(TKMPanel(Parent).GetCollection).CtrlDown := Self; //Release previous control and press self down
  +    if Assigned(OnClick) then OnClick(Self);
  +    Result := true; //Click has happened
  +  end else
  +    Result := false; //No, we couldn't click for Control is unreachable
  +end;
  +
  +
   procedure TKMButton.Paint();
   var StateSet:T3DButtonStateSet;
   begin
  
positive.code:     TextAlign: KAlign;
      Caption: string;
      Style:TButtonStyle;
    protected
      constructor Create(aParent:TKMPanel; aLeft,aTop,aWidth,aHeight,aTexID,aRXid:integer; aStyle:TButtonStyle); overload;
      constructor Create(aParent:TKMPanel; aLeft,aTop,aWidth,aHeight:integer; aCaption:string; aFont:TKMFont; aStyle:TButtonStyle); overload;
  
negative.code: begin
    Result:=TKMPanel.Create(aParent, aLeft,aTop,aWidth,aHeight);
    AddToCollection(Result);
    Result.GetCollection := Self;
  end;
  
  function TKMControlsCollection.AddBevel(aParent:TKMPanel; aLeft,aTop,aWidth,aHeight:integer):TKMBevel;
  