阅读:1295回复:2
如何把MapControl里的Map加入PageLayoutControl里,并使它们关联在一起就象ArcMap里一样 (AO+VB)
<P>如何把MapControl里的Map加入PageLayoutControl里,并使它们关联(例:在一个里放大另一个也放大)在一起就象ArcMap里一样</P>
<P>不知道大家怎么解决这个问题哦的?</P> <P>我用的 方法:</P> <P> (1) MapCtrl 是MapControl PageCtrl 是PageLayoutControl</P> <P> Dim pObjectCopy As IObjectCopy Set pObjectCopy = New ObjectCopy Dim pToCopyMap As IUnknown Set pToCopyMap = MapCtrl.Map Dim pCopiedMap As IUnknown Set pCopiedMap = pObjectCopy.Copy(pToCopyMap) Dim pToOverwriteMap As IUnknown Set pToOverwriteMap = PageCtl.ActiveView.FocusMap pObjectCopy.Overwrite pCopiedMap, pToOverwriteMap</P> <P> Set m_pMapFrame = PageCtl.GraphicsContainer.FindFrame(PageCtl.ActiveView.FocusMap) m_pMapFrame.ExtentType = esriExtentScale PageCtl.Page.IsPrintableAreaVisible = True</P> <P>用这个方法,PageLayoutControl里的图总是不能充满整个区域,并且放大后,图元也放大了</P> <P>(2)</P> <P> Dim ipMapFrame As IMapFrame Set ipMapFrame = New MapFrame </P> <P> Set ipMapFrame.Map = MapCtrl.Map Dim ipElement As IElement</P> <P> Set ipElement = ipMapFrame Dim ipEnvelope As IEnvelope Set ipEnvelope = PageCtl.Extent</P> <P> PageCtl.AddElement ipElement, ipEnvelope</P> <P>给方法使他们能关联在一起,但MapControl中的图总是不能充满整个区域</P> |
|
1楼#
发布于:2005-03-29 11:30
这些代码要放在哪里才行呀?
如题 |
|
2楼#
发布于:2005-03-29 12:04
这个在例子里有的,你看看mapcontrol和pagelayerout那几个例子就可以
|
|