giswwk
路人甲
路人甲
  • 注册日期2007-07-06
  • 发帖数10
  • QQ
  • 铜币150枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1465回复:2

帮忙,AO问题 !

楼主#
更多 发布于:2007-08-09 11:28
我在AO开发时,想让MapControl和PageLayoutControl1同步显示,比如在MapControl中放大地图后,切换到PageLayoutControl1中也同样显示放大后的地图,其实和ArcMap地图视图与版面视图切换功能一样,谁知道改怎么做?谢谢 !<img src="images/post/smile/dvbbs/em02.gif" />
喜欢0 评分0
giswwk
路人甲
路人甲
  • 注册日期2007-07-06
  • 发帖数10
  • QQ
  • 铜币150枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2007-08-22 10:14
<img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
2楼#
发布于:2007-08-10 11:33
<P>这个早在论坛就讨论过多次了</P>
<P>vb代码如下</P><PRE>Public Sub CopyAndOverwriteMap()
    
  'Get IObjectCopy interface
  Dim pObjectCopy As IObjectCopy
  Set pObjectCopy = New ObjectCopy

  'Get IUnknown interface (map to copy)
  Dim pToCopyMap As IUnknown
  Set pToCopyMap = PageLayoutControl1.ActiveView.FocusMap

  'Get IUnknown interface (copied map)
  Dim pCopiedMap As IUnknown
  Set pCopiedMap = pObjectCopy.Copy(pToCopyMap)

  'Get IUnknown interface (map to overwrite)
  Dim pToOverwriteMap As IUnknown
  Set pToOverwriteMap = MapControl1.Map
  
  'Overwrite the MapControl's map
  pObjectCopy.Overwrite pCopiedMap, pToOverwriteMap
 
  SetMapExtent

End Sub
Private Sub SetMapExtent()
          
  'Get IActiveView interface
  Dim pActiveView As IActiveView
  Set pActiveView = PageLayoutControl1.ActiveView.FocusMap
  
  'Set the control's extent
  MapControl1.Extent = pActiveView.Extent
  'Refresh the display
  MapControl1.Refresh
    
End Sub
</PRE>
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
游客

返回顶部