IDisplayTransformation

IDisplayTransformation

Bounds Full extent in world coordinates.

The Bounds property controls the full extent of the display.  IActiveView::FullExtent really stores its full extent here and it has two uses for this property.  In data view, IActiveView calculates the full extent of all the layers and automatically recalculates it whenever the spatial reference changes and when layers are added or removed from the Map.  In layout view, IActiveView stores in FullExtent, the page size (expanded some) and it recalculates this property whenever the page size changes.

Setting the Bounds also sets the VisibleBounds to the same envelope and fires the ITransformEvents::BoundsUpdated and ITransformEvents::VisibleBoundsUpdated events.

DeviceFrame Visible extent in device coordinates.
FittedBounds Device frame in world coordinates.

 

Resolution Resolution of the device in dots (pixels) per inch.
ScaleRatio Scale between FittedBounds and DeviceFrame.

 

VisibleBounds Visible extent in world coordinates.

In layout view, when the Page is zoomed 1:1, the resolution equals the device resolution.  When the Page is zoomed to > 100%, the resolution is set higher so that graphics are magnified.

In data view, the Map object always has its resolution set to that of the display.  Graphics are not magnified in this view when you zoom in.

The units are always in pixels per inch.

After setting the resolution, the ITransformEvents::ResolutionUpdated event is fired.

 

IScreenDisplay

PanMoveTo pans the display by calculating an offset distance between the start point supplied to PanStart and the destination point provided to this method.  The recording cache is automatically redrawn each time PanMoveTo is called. Use the envelope PanStop returns to truly refresh the display.

The typical sequence for using the pan methods is as follows:

  • OnMouseDown - PanStart
  • OnMouseMove - PanMoveTo
  • OnMouseUp - PanStop

 

posted @ 2014-05-07 22:51  太一吾鱼水  阅读(568)  评论(0编辑  收藏  举报