×
您的位置: 首页 > 编程笔记

《ArcGIS Engine+C#实例开发教程》第九讲 图层文本标注

C# ArcGIS AR 时间:2010-12-26  查看:905   收藏
摘要:ArcGIS Engine+C#实例开发教程,我们实现了图层属性表的浏览功能,这一讲给大家讲解图层标注的实现方法。

[作者:闲云野鹤 本文系3SDN原创《ArcGIS Engine+C#实例开发教程》之一,转载请注明本文链接: http://www.3sdn.net/gis2dev/ae/2009-07-13/448.html ]

上一讲中,我们实现了图层属性表的浏览功能,这一讲给大家讲解图层标注的实现方法。

本文实现的最终效果如下:

图层标注实现起来并不复杂,本例仅做一个简单示范,只加载AE的样式库,标注选定的字段,旨在抛砖引玉。更高级的功能,如自定义样式和修改样式,由读者自己实现。
主要思路:
加载图层字段 –> 加载文本样式 -> 设置文本样式
实现过程:
创建标注设置窗体 -> 创建图层标注的Command -> 添加Command到图层右键菜单

9.1创建标注设置窗体

(1)添加一个Windows窗体,命名为LabelLayerFrm.cs。添加控件如下:

控件

Name属性

Text属性

其它

SymbologyControl

axSymbologyControl

ComboBox

cbbField

Button

btnOK

确定

DialogResult设为OK

Button

btnCancel

取消

DialogResult

设为Cancel

GroupBox

groupBox1

字段

GroupBox

groupBox2

符号

(2)为LabelLayerFrm类添加两个成员变量:

(3)重载一个构造函数:

(4) 添加成员函数ReadRegistry,用于从注册表中读取ArcGIS的安装路径。

(5)添加LabelLayerFrm窗体的Load事件,以加载图层字段到下拉模型,加载文本样式到SymbologyControl控件。

(6)添加axSymbologyControl1控件的OnItemSelected事件,以设置选定的样式。

(7)添加确定按扭的Click事件,为选定图层中的选定的字段以选定的样式标注。

至此,标注设置窗体已经完成,如果你编译通不过,看看是不是忘了添加相关引用了。

9.2创建图层标注的Command

(1)创建一个新类,以ArcGIS的BaseCommand为模板,命名为LabelLayerCmd.cs。
注意:在新建Base Command模板时,会弹出一个对话框让我们选择模板适用对象,这时我们要选择MapControl、PageLayoutControl,即选择第二项或者倒数第二项。
(2)添加LabelLayerCmd类的成员变量。

(3)修改默认构造函数如下:

(4)修改OnClick函数为:

9.3添加Command到图层右键菜单

回到3sdnMap主窗体类,找到axTOCControl1_OnMouseDown事件响应函数,修改如下代码片断:

至此,已经完成图层文本标注,编译运行吧,是不是看到开篇的效果了?
以上代码在Windows XP Sp3 + VS2005 + AE9.2/9.3环境下编译通过。

 

0% (0)
0% (0)