利用 IIdentifyDialog 模拟ArcMap工具里面 Identify功能进行要素查询
2008-05-31 14:43
621 查看
利用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中国社区)
类生成代码如下:
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中国社区)
相关文章推荐
- 利用 IIdentifyDialog 模拟ArcMap工具里面 Identify功能进行要素查询
- 分享一个自己利用学的IO流操作封装了一个小工具进行文件复制剪切和删除功能
- 利用工具进行数据库数据的复杂查询 [转]
- ARCMAP 本文将描述如何利用识别工具显示一幅与要素相关的图片。
- 利用HTTPAnalyzer工具分析数据包并模拟该数据包进行消息的发送
- 利用YUM进行查询、安装、升级与删除功能
- 如何实现在ArcMap上进行属性查询(Identify)
- PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询–合理利用算法,效率提高2125倍
- PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询–合理利用算法,效率提高2125倍
- 利用dbcp数据库连接池连接数据库,并利用dbtuils框架对数据库test中book表进行插入、删除、修改、查询的操作代码
- linux下利用valgrind工具进行内存泄露检测和性能分析
- 利用XP系统自带的***功能进行“局域网”互联
- 【已测试通过】::自定义工具按钮进行矩选查询,高亮显示所选择的地图要素
- [JSP] 创建mysql数据库&利用JSP进行数据库查询(2)
- lucene利用sort对查询结果进行排序示例
- linux下利用valgrind工具进行内存泄露检测和性能分析
- [MySQL 工具] pt-index-usage使用 --> 对查询中的索引进行分析
- 利用GeoIP数据库及API进行地理定位查询 Java
- 创建函数利用可变参数列表的形式模拟实现printf的功能
- 利用SQL Server 2008中的SSIS进行大规模的数据库查询操作 推荐