- 1、本文档共82页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于C的ArcGISEngine实例开发教程.doc
目录
教程Bug及解决方法 4
第一讲:桌面GIS应用程序框架的建立 4
1、新建项目 5
2、添加控件 6
3、控件绑定 7
4、添加工具 8
5、编译运行 9
第二讲 菜单的添加及其实现 9
1、 添加菜单 9
2、 实现相关菜单 10
3、 编译运行 12
第三讲 MapControl与PageLayoutControl同步 13
1、 新建同步类ControlsSynchronizer 13
2、 新建Maps类 19
3、 新建打开文档类OpenNewMapDocument 21
4、 两种视图的同步 23
5、 编译运行 26
第四讲 状态栏信息的添加与实现 27
1、 添加状态栏项目 27
2、 显示当前所用工具信息 28
3、 显示当前比例尺 29
4、 显示当前坐标 29
5、 编译运行 32
第五讲 鹰眼的实现 32
1、 添加鹰眼控件 33
2、 鹰眼的实现 36
第六讲 右键菜单添加与实现 41
1、 创建右键菜单 41
2、 添加菜单项 42
3、 弹出右键菜单 46
4、编译运行 47
第七讲 图层符号选择器的实现 48
1、 直接调用ArcMap中的符号选择器 50
2、 自定义符号选择器 52
2.1???新建符号选择器窗体 52
2.2?? 设置控件属性 53
2.3?? 添加引用 54
2.4 初始化 54
2.5?? 调用自定义符号选择器 59
2.6?? 符号参数调整 61
2.7? 添加更多符号菜单 66
2.8????编译运行 68
第八讲?属性数据表的查询显示 69
1. 创建属性表窗体 70
2. 创建空DataTable 70
3. 装载DataTable数据 74
4. 绑定DataTable到DataGridView 78
5. 调用属性表窗体 79
6. 编译运行 82
?
教程Bug及解决方法已经发现的教程Bug及解决方法如下:1、在第二讲可能会出现变量未定义。原因:第二讲与第三讲联系紧密,我为控制篇幅才将其分为两讲,某些变量是在第三讲才进行定义,请大家注意。2、第六讲弹不出TOCControl的右键菜单原因:没有取得m_tocControl的指针,即没有把m_tocControl指针与axTOCControl1控件绑定,导致调用m_menuMap.PopupMenu(e.x, e.y, m_tocControl.hWnd);时m_tocControl.hWnd为NULL,故无法弹出菜单。解决方法:在Form1_Load()函数中,添加如下代码:
m_tocControl = (ITOCControl2)this.axTOCControl1.Object;? 目前已经发现的优化方案如下:
1、教程第四讲,坐标单位前面的esri,原用switch语句逐一替换,其实直接用取子串(Substring)的方法截去更方便。修改代码如下:
?CoordinateLabel.Text = 当前坐标 X = + e.mapX.ToString() + Y = + e.mapY.ToString() + + this.axMapControl1.MapUnits.ToString().Substring(4); 2、教程第四讲,固定状态栏中的比例尺和当前坐标项目的宽度以防止闪烁。方法如下:选中状态栏中的比例尺或当前坐标项目,把其autoSize属性设为False,再在Size属性里设置宽度。经测试,比例尺宽度为150,当前坐标宽度为400比较合适。
第一讲:桌面GIS应用程序框架的建立
本讲主要是使用MapControl、PageLayoutControl、ToolbarControl、TOCControl四个控件建立起基本的桌面GIS应用程序框架。最终成果预览如下:
1、新建项目启动VS2005,选择“文件|新建|项目”,在项目类型中选择Visual C#,再选择Windows应用程序模板,输入名称“3sdnMap”,点击确定。?在解决方案管理器中将“Form1.cs”重命名为“3sdnMap.cs”,在设计视图中,选中窗体,将其属性中的“Text”改为“3sdnMap”。
2、添加控件选择工具箱中的“菜单和工具栏|MenuStrip”,将其拖入窗体。选择工具箱中的“ArcGIS Windows Forms”节,将“ToolbarControl”控件拖入窗体,并将其属性中的Dock设置为Top。选择工具箱中的“菜单和工具栏|StatusStrip”,将其拖入到窗体。选择工具箱中的“容器|SplitContainer”容器拖入窗体,并将其属性中的Dock设置为Fill。将TabControl控件拖入Panel1,将
文档评论(0)