zoukankan      html  css  js  c++  java
  • AE开发能否实现TOC Control里添加多个Data Frame

    问题:

    ArcMap中,菜单InsertData Frame,可以在TOC中增加Data Frame,在MapControl或者PageLayoutControl下都可以正常显示多个Data Frame,并且这些Data Frame可以方便切换,

    但是在AE开发中,MapControl无法实现此效果,需要特殊控制(如何控制?)还是无法实现?

    易智瑞(中国)信息技术有限公司客户与合作伙伴支持部 石羽  回复:

    ArcMapToc窗体实际仅和Pagelayout窗体进行绑定,切换窗体时并没有切换绑定关系。

    Map窗体与Pagelayout窗体同步有很多实现方法,ArcMap中采用的方法没有公开,您可自行研究。

    这样确实可以解决此问题Toc窗体显示Pagelayout窗体的多个dataframe,MapControl不和Toc窗体绑定,这样切换视图时Toc窗体也不会变化的(MapControl只可以显示一个dataframe)

    这时只需要增加其他几项控制就可以了

    1.MapControl, Pagelayout 显示内容保持一致。

    这个可以通过硬拷贝的方法,可以参考安装目录  Program FilesArcGISDeveloperKitSamplesNETEnginePageLayoutControlCopyFocusMap这个例子

     

    2.实现不同dataframe切换问题,类似ArcMap右键菜单Activate

    利用IMapDocument.Map(mapIndex )来实现

    3.实现新增dataframe功能

    pGraphicsContainer = axPageLayoutControl1.ActiveView.GraphicsContainer;
    pActiveView = axPageLayoutControl1.ActiveView;
    pMap = axPageLayoutControl1.ActiveView.FocusMap;

    IMapFrame pMapFrame=new MapFrameClass();
    IEnvelope pMapExt= new EnvelopeClass();

    pMapFrame.Map = pMap;
    pMapExt.PutCoords( pActiveView.XMin, pActiveView.YMin, pActiveView.XMax, pActiveView.YMax);

    IElement pMapElement;
    IGeometry pGeoExt;
    pMapElement = pMapFrame as IElement;
    pGeoExt = pMapExt;
    pMapElement.Geometry = pGeoExt;
    pGraphicsContainer.AddElement(pMapElement, 1);
    axPageLayoutControl1.Refresh();

    4.实现删除dataframe功能

    pActiveView = axPageLayoutControl1.PageLayout as IActiveView ;

    pMap = pActiveView.FocusMap;
    pGC = pActiveView as IGraphicsContainer;
    pMF = pGC.FindFrame(pMap) as IMapFrame ;
    pGC.DeleteElement(pMF  as iElement);
     
    代码仅供参考。
  • 相关阅读:
    Spring Boot构建RESTful API与单元测试
    Spring Boot中使用Swagger2构建强大的RESTful API文档
    Intellij IDEA 一些不为人知的技巧
    Spring中@Controller和@RestController之间的区别
    Spring 中的default-lazy-init="true" 和 lazy-init="true"
    SpringMVC处理JSON
    建立一个简单的SpringMVC程序
    SpringMVC处理静态资源
    <mvc:annotation-driven/>与<mvc:default-servlet-handler/>之间的一个问题
    Spring AOP 简单理解
  • 原文地址:https://www.cnblogs.com/jhlong/p/5394442.html
Copyright © 2011-2022 走看看