预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共102页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第3章控件编程本章内容:3.1MapControl控件3.1.1主要接口3.1.1.2IMapControl2接口3.1.1.3IMapControl3与IMapControl43.1.1.4IMapControlEvents2接口3.1.2MapControl控件与MXD文件下面是一个载入文档的例子--axMapControl1.LoadMxFileIMxDocument与IMapDocument3.1.3鼠标与控件的交互使用鼠标拖曳确定地图显示的范围移动地图在MapControl控件中绘制图形3.1.4数据选择3.1.5实现鹰眼功能(参看源程序讲解)两个控件的数据共享绘制鹰眼控件中的显示方框3.2PageLayoutControl控件3.2.1PageLayoutControl操作MXD文件下面是在PageLayout控件中打开一个MXD文件的方法:3.2.2PageLayout与MapControl联动将axMapControl1中的Map拷贝到axPageLayoutControl13.2.3在Pagelayout中绘制元素改变MapFrame的外观改变MapFrame的边框(border)3.3TOCControl控件3.3.1TOCControl控件概述3.3.1.1ITOCControl与ITOCControl2ITOCControl2(Newin9.2)3.3.1.2ITOCControlEvents3.3.2应用开发实例privateintConstructDataSet(IFeatureLayerpFeatLyr) {ILayerFieldspFeatlyrFields=pFeatLyrasILayerFields; IFeatureClasspFeatCls=pFeatLyr.FeatureClass; introws=0; if(m_layerDataSet.Tables[pFeatLyr.Name]==null) {DataTablepTable=newDataTable(pFeatLyr.Name); DataColumnpTableCol; for(inti=0;i<=pFeatlyrFields.FieldCount-1;i++) { pTableCol=newDataColumn(pFeatlyrFields.get_Field(i).AliasName); pTable.Columns.Add(pTableCol); pTableCol=null; }IFeatureCursorfeatures=pFeatLyr.Search(null,false); IFeaturefeature=features.NextFeature(); while(feature!=null) {DataRowpTableRow=pTable.NewRow(); for(inti=0;i<=pFeatlyrFields.FieldCount-1;i++) {if(pFeatlyrFields.FindField(pFeatCls.ShapeFieldName)==i) {pTableRow[i]=pFeatCls.ShapeType;} else{pTableRow[i]=feature.get_Value(i);} } pTable.Rows.Add(pTableRow); feature=features.NextFeature(); } rows=pTable.Rows.Count; m_layerDataSet.Tables.Add(pTable); System.Runtime.InteropServices.Marshal.ReleaseComObject(features); } returnrows; }3.4ToolbarControl及相关对象3.4ToolbarControl第5讲3.4ToolbarControlToolbarControl功能3.4.1.2IToolbarControl与IToolbarControl23.4.2.1IToolbarControl3.4.2.2IToolbarControlDefault3.4.2.3IToolbarControlEvents3.4.2.4ToolbarControlC#中三种命令方式的添加IToolbarControl2(Newin9.2)3.4.2.5更新命令3.5Built-incommands,menus3.5.2与ToolbarControl一起使用3.5.3独立使用(withouttheToolbarControl)ICommand使用方法:例如3.6自定义菜单自定义工具自定义放大工具3.7定制开发CustomizeDialog