C#制作鹰眼的详细全过程(带注释)实例代码
C#制作鹰眼的详细全过程(带注释)实例代码
发布时间:2016-12-28 来源:查字典编辑
摘要:axMapControl1是主控件,axMapControl2是鹰眼控件要看清楚事件响应1.鹰眼地图资源载入复制代码代码如下:private...

axMapControl1是主控件,axMapControl2是鹰眼控件

要看清楚事件响应

1.鹰眼地图资源载入

复制代码 代码如下:

privatevoid axMapControl1_OnMapReplaced(object sender, IMapControlEvents2_OnMapReplacedEvent e)

{

//当主地图显示控件的地图更换时,鹰眼中的地图也跟随更换

axMapControl2.LoadMxFile(axMapControl1.DocumentFilename);

axMapControl2.Extent = axMapControl2.FullExtent;

}

2.绘制鹰眼矩形框

复制代码 代码如下:

private void axMapControl1_OnExtentUpdated(object sender, IMapControlEvents2_OnExtentUpdatedEvent e)

{

// 得到新范围

IEnvelope pEnv = (IEnvelope)e.newEnvelope;

IGraphicsContainer pGra = axMapControl2.Map as IGraphicsContainer;

IActiveView pAv = pGra as IActiveView;

//在绘制前,清除axMapControl2中的任何图形元素

pGra.DeleteAllElements();

IRectangleElement pRectangleEle = new RectangleElementClass();

IElement pEle = pRectangleEle as IElement;

pEle.Geometry = pEnv;

//设置鹰眼图中的红线框

IRgbColor pColor = new RgbColorClass();

pColor.Red = 255;

pColor.Green = 0;

pColor.Blue = 0;

pColor.Transparency = 255;

//产生一个线符号对象

ILineSymbol pOutline = new SimpleLineSymbolClass();

pOutline.Width = 2;

pOutline.Color = pColor;

//设置颜色属性

pColor = new RgbColorClass();

pColor.Red = 255;

pColor.Green = 0;

pColor.Blue = 0;

pColor.Transparency = 0;

//设置填充符号的属性

IFillSymbol pFillSymbol = new SimpleFillSymbolClass();

pFillSymbol.Color = pColor;

pFillSymbol.Outline = pOutline;

IFillShapeElement pFillShapeEle = pEle as IFillShapeElement;

pFillShapeEle.Symbol = pFillSymbol;

pGra.AddElement((IElement)pFillShapeEle, 0);

pAv.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);

}

3. 实现互动

复制代码 代码如下:

private void axMapControl2_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)

{

IPoint pPt=new PointClass ();

pPt.PutCoords (e.mapX ,e.mapY );

//改变主控件的视图范围

axMapControl1 .CenterAt (pPt );

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类