AxSymbologyControl控件用于加载和显示ESRI提供的符号库,开发者可以使用此控件方便的加载ArcGIS自带的符号库以及用户自定义的符号库。
创建方式
1、在窗体上添加AxSymbologyControl控件
2、在AxSymbologyControl控件上右键—属性
在面板中选择Style Files
点击Load Style File..加载样式文件
选择ESRI.ServerStyle,点击打开,在属性面板点击确定
样式面板创建完成。
创建方式二
有时我们需要动态创建窗体,此时我们需要使用axSymbologyControl提供的方法来加载样式文件
1、定义文件路径
首先程序需要找到样式文件所在位置,在我们电脑上样式文件一般保存在 C:\Program Files\ArcGIS\Server\Styles\ 路径下,我们可以将样式文件拷贝到程序目录,也可直接加载(这样的话程序只能在自己电脑运行了)。
在此我们直接按照文件路径定义path
string filepath = @"C:\Program Files\ArcGIS\Server\Styles\ESRI.ServerStyle";
2、加载样式文件
axSymbologyControl1.LoadStyleFile(filepath);
LoadStyleFile()方法可以加载样式文件
样式面板加载完成了。
获得用户选择的pStyleGalleryItem样式对象
在axSymbolControl的点击事件中,添加以下代码:
private void SymbologyCtrl_OnMouseDown(object sender, ISymbologyControlEvents_OnMouseDownEvent e)
{
try
{
pStyleGalleryItem = SymbologyCtrl.HitTest(e.x, e.y);//用户选择需要符号
}
catch (Exception ex)
{
}
}
使用时,要将pStyleGalleryItem转为特定的样式类,如指北针INorthArrow
INorthArrow pNorthArrow = pStyle.Item; //得到具体的item