Skip to main content
2 of 2
replaced http://gis.stackexchange.com/ with https://gis.stackexchange.com/

Summary

The IScreenDisplay interface has a ScaleContents property; set this to true

Background

As this question reveals, ESRI changed the default behaviour of the map control at ArcGIS 10.

Less redrawing in data view

In previous versions of ArcMap, if you changed the size of the ArcMap display while working in data view, either by resizing the ArcMap window or by docking/undocking/resizing a dockable window, by default your map was completely redrawn to fit inside the available display area. So the scale changed and the extent stayed the same (although you may have seen some extra geographic coverage based on how well the extent fit inside the new shape of the display area). At version 10, the default drawing behavior in data view has been changed so that when the display size is changed, your map is no longer completely redrawn to fit inside the display. Instead, the scale stays the same and the extent will change. If you make the display bigger, you'll see a larger geographic extent, and vice versa.

This has the performance advantage that the portion of the display unaffected by resizing doesn't need to be redrawn at all. For example, if you close a docked window, only the portion of the display that was obscured by the window needs to be redrawn. It is also easier to work with the display because geographic features on your map don't move around as you dock and undock windows. Features on your map remain in the same location in the display until you manually pan or zoom the map.

(src: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/What_s_new_for_map_display_and_navigation/00qp0000001w000000/)

Resolution

You can reverse this change by using the IScreenDisplay interface to set the ScaleContents property to true. This can be set once the map is loaded into the control.

For me, the line of code would read:

mapControl.ActiveView.ScreenDisplay.ScaleContents = True;

This restores the old map redrawing behaviour - and as a side-effect, cures the redrawing problem explained here!