ImageVerifierCode 换一换
格式:DOC , 页数:10 ,大小:274KB ,
资源ID:8941814      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8941814.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(ArcMap扩展开发方法与步骤.doc)为本站上传会员【s4****5z】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

ArcMap扩展开发方法与步骤.doc

1、ArcMap扩展开发方法与步骤 吕志勇 2011-5-25 ArcMap扩展开发是指在直接通过编写插件,扩展ArcMap.exe的功能。下面以VS为例,说明如何进行ToolBar,Command,Tool,Menu的开发与扩展: ToolBar 一、 新建项目,选择Class Library(ArcMap)(必须先安装desktop才可以出现此选择项: 二、 在建立的工程项目中的“资源管理器“中的项目上进行右键单击,选择”添加类“,如图所示: 三、 在添加的类中:选择“添加Base ToolBr“,并更改自己的类名 四、 选择ToolBar要添加在哪里:选择Desktop a

2、rcmap 五、 点“OK“之后,便会自己动产生台下代码: 详细代码: using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using ESRI.ArcGIS.ADF.CATIDs; using ESRI.ArcGIS.ADF.BaseClasses; using ESRI.ArcGIS.SystemUI; namespace TestPlugToolBar { ///

3、ary> /// Summary description for ArcGISToolbar1. /// [Guid("43e374c8-9468-48b2-9a72-bcbf0a3097d9")] [ClassInterface(ClassInterfaceType.None)] [ProgId("TestPlugToolBar.ArcGISToolbar1")] public sealed class ArcGISToolbar1 : BaseToolbar { #region C

4、OM Registration Function(s) [ComRegisterFunction()] [ComVisible(false)] static void RegisterFunction(Type registerType) { // Required for ArcGIS Component Category Registrar support ArcGISCategoryRegistration(registerType);

5、 // // TODO: Add any COM registration code here // } [ComUnregisterFunction()] [ComVisible(false)] static void UnregisterFunction(Type registerType) { // Required for ArcGIS Component Category Registrar support

6、 ArcGISCategoryUnregistration(registerType); // // TODO: Add any COM unregistration code here // } #region ArcGIS Component Category Registrar generated code ///

/// Required method for ArcGIS Component

7、 Category registration - /// Do not modify the contents of this method with the code editor. ///

private static void ArcGISCategoryRegistration(Type registerType) { string regKey = string.Format("HKEY_CLASSES_ROOT\\CLSID\\{{{0}}}", register

8、Type.GUID); MxCommandBars.Register(regKey); } ///

/// Required method for ArcGIS Component Category unregistration - /// Do not modify the contents of this method with the code editor. /// private static void Arc

9、GISCategoryUnregistration(Type registerType) { string regKey = string.Format("HKEY_CLASSES_ROOT\\CLSID\\{{{0}}}", registerType.GUID); MxCommandBars.Unregister(regKey); } #endregion #endregion public ArcGISToolbar1()

10、{ // // TODO: Define your toolbar here by adding items // //AddItem("esriArcMapUI.ZoomInTool"); //BeginGroup(); //Separator //AddItem("{FBF8C3FB-0480-11D2-8D21-080009EE4E51}", 1); //undo command //AddItem(new

11、Guid("FBF8C3FB-0480-11D2-8D21-080009EE4E51"), 2); //redo command } public override string Caption { get { //TODO: Replace bar caption return "My C# Toolbar"; } } public override st

12、ring Name { get { //TODO: Replace bar ID return "ArcGISToolbar1"; } } 以上代码的主要功能:对建立的ToolBar进行注册,对ToolBar的属性如:名称,名字属性设置。 Ø 运行程序,会在相应的debug/Release下产生一个:DLL文件。并且会自动启动arcmap.exe。(如果不用代码对产生的插件DLL进行注册,也可以手动注册,具体注

13、册方法如下: Ø 该阶段开发人员常常需要将组件编译成发布版,并将“dll”复制到其他机器上进行各种测试。 为满足这样的需求,开发人员可以在测试机器上使用“regasm.exe ”通过.Net 的“dll” 文件生成一个同名的“tlb ”类型库文件,这种“tlb ”文件就可以像COM 的“dll”一样加ArcGIS 使用。这样操作的前提条件是这台测试机器上至少安装有.Net Framework、ArcGIS Desktop 以及相应的补丁包。 具体的操作分为如下两步: 1、在“运行”中敲入“cmd”进

14、入命令行 2、 转 到 “ regasm.exe” 文 件 所 在 目 录 下 (“C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322”)敲入“regasm PATH\*.dll /tlb: *tlb”, 例如“regasm D:\Program Files\ArcGIS\EditTools.dll /tlb:EditTools.tlb”。这样,系统会在与“dll” 相同的目录下生成一个“tlb ”文件并已自动注册。该操作正确执行结果就象COM 的“dll” 文件注册后一样,你可以在ArcGIS 相应的

15、工具扩展中找到该工具了,如果未找到,也可以 通过“Add From File…”方法添加生成的“tlb ”文件添加该组件。 说明: 1、这种注册方法虽不需要“组件调试阶段”代码中的那些[ComRegisterFunction()]函数 也能顺利执行,但强烈建议保留这些函数,如果没有这些函数将导致“系统部署阶段”注册 失败。 2、建议开发人员将“C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322”路径加入系 统环境的“Path”中,这样就可以直接敲入“regasm”命令,而不用每次注册组件的时候都 要手动进

16、入“regasm”路径下 3、敲入“regasm”和空格后,可以直接将有待注册的“dll”文件拖动到命令行窗口, 系统会自动加入命令行,而不用用户亲自敲入“dll”文件的路径和文件名 4、可通过“regasm –u PATH\*.dll /tlb: *tlb ”命令来注销该组件 5、建议不要在不同地方注册包含相同类的“dll”,否则很可能会产生类似于COM 的 “Dll Hell”的情况,导致ArcGIS 识别和使用的组件很可能不是用户所期望的组件,造成不 必要的麻烦。 六、 注册成功后,打开arcMap,工具栏出单击,就会显示出刚才所产

17、生的toolbar:如图所示,对其进行勾选,工具栏就会显示在上面。 七、 到目前为止,一个名称(Caption)为“要素融合工具“的工具栏建立成功。下面就是如何开发Command,并添加到这个空栏中了!! Command Command与Tool的主要区别在于:Command可以产生人机交互,而tool才不能产生人机交互,因此:放大(zoomIn)则称为Tool,而若放大时放输入参,放大多少倍,刚是一个Command..产生Command前面建立工程的方法一样,只是在“添加类“时略有不同: 添加类时,选择“baseCommand“,如图所示: 并下一步,选择“Desktop

18、ArcMap Command“: 确定之后,会自动产生如下代码: 以上代码主要功能为:注册DLL插件与设置此Command的Category分类归属,名称,标题,onClick事件所对应的操作等等; public MyCommand()//构造函数 { // // TODO: Define values for the public properties // base.m_category = "MyCommands"; //分类

19、 base.m_caption = "放大"; //对外显示的名字。 base.m_message = "对地图进行放大"; //消息 base.m_toolTip = "放大"; //提示 base.m_name = " MyCommands _ZoomIn"; //unique id, non-localizable (e.g. "MyCategory_ArcMapCommand") try { //

20、 // TODO: change bitmap name if necessary // string bitmapResourceName = GetType().Name + ".bmp"; base.m_bitmap = new Bitmap(GetType(), bitmapResourceName); } catch (Exception ex) {

21、 System.Diagnostics.Trace.WriteLine(ex.Message, "Invalid Bitmap"); } 运行代码后,在工具栏处,右键选择customize,找到自己命名的“cagetory“名称,会显示自己在该归类下创建的命令。将其拖放到”我的工具条”上面,即完成命令添加到相应的工具条上面。 在自定义的工具条上的相应Command右键单击,可以对该命令进行相应的设置: 注意:插件的注册与反注册。 RegAsm TestPlugToolBar.dll /u Pause RegAsm TestPlugToolBar.dll /codebase pause

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服