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);
     
    代码仅供参考。
  • 相关阅读:
    [CSS] prefers-reduced-motion
    [VSCode] Adding Custom Syntax Highlighting to a Theme in VSCode
    Subversion/Git/ReviewBoard工作流程
    oracle hints
    Node.js学习(10)----文件系统fs
    网络子系统41_inet_peer平衡二叉树的删除
    由链表初始化看C语言的二级指针
    挣值管理不是搞数字游戏(4)——让挣值管理实用!
    关于数据库一致改关闭下redo日志文件丢失的处理办法的总结
    Android 操作系统的内存回收机制
  • 原文地址:https://www.cnblogs.com/jhlong/p/5394442.html
Copyright © 2011-2022 走看看