• SelectByShape


    SelectByShape实现矩形选择要素

    利用SelectByShape方法,实现矩形选择要素,并闪烁、定位。
    代码:
                    //selectbyshape方法
                    IMap pMap = new MapClass();
                    pMap 
    = axMapControl1.Map;
                    IPoint pPt 
    = new PointClass(); ;
                    pPt.PutCoords(e.mapX, e.mapY);

                    IEnvelope pEn 
    = new EnvelopeClass();
                    pEn 
    = axMapControl1.TrackRectangle();

                    pMap.SelectByShape(pEn, 
    nullfalse);//最后一个参数控制是否只选一个
                    axMapControl1.Refresh();

                    IEnumFeature pEnumFeature 
    = pMap.FeatureSelection as IEnumFeature;
                    IFeature pFeature;
                    pFeature 
    = pEnumFeature.Next();
                    
    //选中闪烁,并视图定位
                    while (pFeature != null)
                    
    {
                        Application.DoEvents();
                        pEn.Union(pFeature.Extent);
                        axMapControl1.FlashShape(pFeature.Shape, 
    3500null);
                        pFeature 
    = pEnumFeature.Next();
                    }

                    axMapControl1.ActiveView.Extent 
    = pEn;

    代码放置于MapControl.MouseDown下即可实现

    代码中是将所有Feature.Extent赋给Envelope实现,还可以调用Envelope.Expand来扩大视图范围,从而可以看到选中要素周边。
    此外定位实现方法还可以在选中要素后,调用AE里的controlszoomtoselectedfeature来实现定位。
  • 相关阅读:
    CSDN博客 专用备份工具
    discuz 7.0 uc 同步登录方法
    delphi 子窗体最大化
    OO系统分析员之路用例分析系列(8)如何编写一份完整的UML需求规格说明书[整理重发]
    delphi 抓取网页内容的程序
    delphi messagebox 使用技巧
    windows mobile下实现程序安装和卸载
    纯真IP库算法
    delphi idhttp 使用方法
    最近评论回复汇总
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/1406258.html
Copyright © 2020-2023  润新知