利用 IIdentifyDialog 模拟ArcMap工具里面 Identify功能进行要素查询

利用AE提供的IIdentifyDialog,创建class identifyTool 。然后在程序里面就可以在鼠标点击按钮功能下,模拟实现ArcMap工具里面 Identify功能
类生成代码如下:

 1   public   sealed   class  identifyTool : BaseTool
 2      {
 3        IHookHelper pHookHelper = new HookHelperClass();
 4        public identifyTool()
 5        {
 6            m_cursor = new System.Windows.Forms.Cursor(@"..\..\Resources\Identify_md.cur");
 7
 8        }

 9
10        public override void OnCreate(object hook)
11        {
12            pHookHelper.Hook = hook;
13        }

14        public override void OnMouseDown(int Button, int Shift, int X, int Y)
15        {
16
17            IActiveView pActiveView;
18            IIdentifyDialog pIdentifyDialog;
19            IIdentifyDialogProps pIdentifyDialogProps;
20            IEnumLayer pEnumLayer;
21            ILayer pLayer;
22
23            pActiveView = pHookHelper.ActiveView;
24
25            pIdentifyDialog = new IdentifyDialogClass();
26            pIdentifyDialogProps = pIdentifyDialog as IIdentifyDialogProps;
27            pIdentifyDialog.Map = pHookHelper.ActiveView.FocusMap;
28            pIdentifyDialog.Display = pActiveView.ScreenDisplay;
29
30            pIdentifyDialog.ClearLayers();
31
32            pEnumLayer = pIdentifyDialogProps.Layers;
33            pEnumLayer.Reset();
34            pLayer = pEnumLayer.Next();
35            while (pLayer != null)
36            {
37                pIdentifyDialog.AddLayerIdentifyPoint(pLayer, X, Y);
38                pLayer = pEnumLayer.Next();
39            }

40            pIdentifyDialog.Show();
41        }

42    }

其中 m_cursor用来设置鼠标样式。
IIdentifyDialog要设置其Map和Display属性。
(参考ESRI中国社区)

转载于:https://www.cnblogs.com/secenes/archive/2008/05/31/1211224.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值