anchor.diff:  
   procedure TfMain.MapViewMouseWheel(Sender: TObject; Shift: TShiftState;
     WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
  -var
  -  sb: TScrollBar;
  -begin
  -  //
  -  if ssShift in Shift then
  -  begin
  -    sb := hScrollBar;
  +begin
  +  if [ssShift, ssCtrl] * Shift = [ssShift] then
  +  begin
  +    DoMapViewWheelScroll(hScrollBar, Shift, WheelDelta, MousePos);
  +    Handled := True;
     end
  -  else begin
  -    sb := vScrollBar;
  -  end;
  -
  -  sb.Position := sb.Position - Sign(WheelDelta) * 3;
  -
  -  sb.Position := Min(sb.Max-sb.PageSize+1,sb.Position);
  -
  -  if ssShift in Shift then
  -  begin
  -    FMapHPos := sb.Position;
  +  else if [ssShift, ssCtrl] * Shift = [] then
  +  begin
  +    DoMapViewWheelScroll(vScrollBar, Shift, WheelDelta, MousePos);
  +    Handled := True;
     end
  -  else begin
  -    FMapVPos := sb.Position;
  -  end;
  -
  -  SetMapViewMouse(MousePos.x,MousePos.Y);
  -
  -  InvalidateMapAxis;
  -
  -  Handled := True;
  +  else if [ssShift, ssCtrl] * Shift = [ssCtrl] then
  +  begin
  +    DoMapLevelWheelScroll(Shift, WheelDelta);
  +  end
  +  else
  +  begin
  +    Handled := false;
  +  end;
  +
   end;
   
   procedure TfMain.MapViewPaint(Sender: TObject);
  
positive.code: 
      procedure MapChanded;
  
      procedure PaintAxis(Kind: TAxisKind; Axis: TPaintBox);
  
      procedure RenderCursor;
  
negative.code:     if mc=m then
      begin
  
        DoSetMapLevelIndex(M.Tag);
        mc.Checked := True;
      end
      else begin
  