|
阅读:4127回复:14
怎么在PageLayoutControl1控件中显示与mapcontrol中同样的视图内容
高手们:请问怎么在PageLayoutControl1控件中显示与mapcontrol中同样的视图内容(为了制图)???<img src="images/post/smile/dvbbs/em02.gif" />
|
|
|
1楼#
发布于:2006-12-21 11:49
<P>下面是我的代码,但是Extent不能一致,请问问题出在哪里了?</P>
<P> Sub CopyFocusMap()<BR> Dim i As Integer</P> <P> For i = 0 To Me.AxMapControl1.Map.LayerCount - 1<BR> Me.AxPageLayoutControl1.ActiveView.FocusMap.AddLayer(Me.AxMapControl1.Map.Layer(i))<BR> Next<BR> '获取 IObjectCopy 接口<BR> Dim pObjectCopy As IObjectCopy<BR> pObjectCopy = New ObjectCopy</P> <P> '获取 源“Map”<BR> Dim pToCopyMap As Object<BR> pToCopyMap = Me.AxMapControl1.ActiveView.FocusMap 'm_pPactiveview.FocusMap</P> <P> '获取 参与复制的源“Map”<BR> Dim pCopiedMap As Object<BR> pCopiedMap = pObjectCopy.Copy(pToCopyMap)</P> <P> '获取 目的“Map”<BR> Dim pToOverwriteMap As Object<BR> pToOverwriteMap = Me.AxPageLayoutControl1.ActiveView.FocusMap</P> <P> '复制 Map<BR> pObjectCopy.Overwrite(pCopiedMap, pToOverwriteMap)</P> <P><BR> '设置 PageLayoutControl 的 Extent</P> <P> <BR> AxPageLayoutControl1.Extent = AxMapControl1.ActiveView.Extent<BR> </P> <P> '刷新显示‘<BR> 'AxPageLayoutControl1.Refresh(esriViewGraphics)<BR> AxPageLayoutControl1.CtlRefresh(esriViewDrawPhase.esriViewGraphics)</P> |
|
|
|
2楼#
发布于:2006-12-21 11:47
<P>下面是我的代码,但是Extent不能一致,请问问题出在哪里了?</P>
<P> Sub CopyFocusMap()<BR> Dim i As Integer</P> <P> For i = 0 To Me.AxMapControl1.Map.LayerCount - 1<BR> Me.AxPageLayoutControl1.ActiveView.FocusMap.AddLayer(Me.AxMapControl1.Map.Layer(i))<BR> Next<BR> '获取 IObjectCopy 接口<BR> Dim pObjectCopy As IObjectCopy<BR> pObjectCopy = New ObjectCopy</P> <P> '获取 源“Map”<BR> Dim pToCopyMap As Object<BR> pToCopyMap = Me.AxMapControl1.ActiveView.FocusMap 'm_pPactiveview.FocusMap</P> <P> '获取 参与复制的源“Map”<BR> Dim pCopiedMap As Object<BR> pCopiedMap = pObjectCopy.Copy(pToCopyMap)</P> <P> '获取 目的“Map”<BR> Dim pToOverwriteMap As Object<BR> pToOverwriteMap = Me.AxPageLayoutControl1.ActiveView.FocusMap</P> <P> '复制 Map<BR> pObjectCopy.Overwrite(pCopiedMap, pToOverwriteMap)</P> <P><BR> '设置 PageLayoutControl 的 Extent</P> <P> <BR> AxPageLayoutControl1.Extent = AxMapControl1.ActiveView.Extent<BR> </P> <P> '刷新显示‘<BR> 'AxPageLayoutControl1.Refresh(esriViewGraphics)<BR> AxPageLayoutControl1.CtlRefresh(esriViewDrawPhase.esriViewGraphics)</P> |
|
|
|
3楼#
发布于:2006-12-19 18:48
<P> 下面这句是不是有问题?</P>
<P>PageLayoutControl1.Extent = frmMap.map1.Extent </P> <P>我的PageLayoutControl里没有图形显示,而写PageLayoutControl1.Extent = PageLayoutControl1.fullExtent 时有</P> <P>我用的是AO9.0 </P> |
|
|
|
4楼#
发布于:2005-04-30 14:31
<P>联动还是COPY的方法,由于两个控件实际上不能共享一个文档,只能使用COPY的方法</P>
|
|
|
5楼#
发布于:2005-04-30 12:28
关注中^
|
|
|
6楼#
发布于:2005-04-29 19:28
<P>那请问连动该如何实现呢?</P><P>请指教!本人及ao开发者都会感谢你的。</P><img src="images/post/smile/dvbbs/em02.gif" />
|
|
|
7楼#
发布于:2005-04-28 10:21
<P>上面的方法可以把ELEMENT拷贝的</P>
|
|
|
8楼#
发布于:2005-04-28 09:51
<P>如果单纯写图层进去就太SIMPLE,我们要达到的效果即使连ELEMENT都可以联动啊</P>
|
|
|
9楼#
发布于:2005-04-19 20:42
非常感谢!!后来我是在通过循环把mapcontrol中的图层加到pagelayoutcontrol中
|
|
上一页
下一页