




已阅读5页,还剩96页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
GIS应用开发 参考教材 w地理信息系统软件工程的原理与方法(毕硕本,王桥 等)科学出版社,2003.7,52 元 w软件工程的书,随便哪个版本。 w用MapX开发地理信息系统(齐锐),清华大学出版 社,2003.11,28元 wVisual C+开发GIS系统,陈建春,电子工业出版 社,72元 w地理信息系统设计与实现(吴信才) w设备设施管理地理信息系统,张书亮、闾国年 等编 著,科学出版社,2006.6,36 元(推荐定购) w地理信息系统(GIS)开发工程案例精选,王占全, 赵斯思等 ,人民邮电出版社 ,2005.10 ,78元 一、可行性分析 二、需求分析 三、总体设计 四、详细设计 五、系统开发与实施(编码) 六、系统测试 七、系统运行、维护与评价 GISGIS应用工程设计的基本内容应用工程设计的基本内容 一、可行性分析 1. 立项原因 2. 立项基础 3. 国内外研究现状 4. 工程轮廓与目标 5. 需求调查(宏观的) 6. 投资环境 7. 投资周期 8. 技术力量与支持 9. 软硬件价格与性能 10. 数据源状况 11. 应用前景 12. 效益评估 13. 可运行性评价 立项申请一般要附可行性研究报告 1 可行性研究的目的和任 务 1)可行性研究的目的: 用最小的代价在尽可能短的时间内确定问题是 否能够解决。可行性研究的目的不是解决问题,而 是确定问题是否值得解决。 2)可行性研究的任务: 确认问题定义导出系统的逻辑模型探索几种 系统实现的方案研究每种方案的可行性 w一般说来,可行性研究的成本只是预期工程总成本 的5%-10%。 2、可行性研究包含的内容: 1) 技术可行性: 分析使用现有的技术能否实现系统,能否解决系统的技术难 点,系统对技术人员有什么要求,硬件能否适应系统要求,系统开 发是否与现行系统有运行矛盾。 2) 开发的风险: 在现有条件限制范围内,能否设计出系统,实现必须的功能, 达到要求的性能。 资源: 开发人员的水平,硬件、软件、数据。 技术:相关技术的发展能否支持系统 。 3) 经济可行性:(成本 / 效益分析) 估算系统的经济效益能否超过它的开发成本。开发成本包括 人员、软硬支持所需费用。包括:经费概算,预期的经济效益,公 司经营策略,市场前景等。 4) 操作可行性: 系统的操作方式在这个用户组织内是否行得通。(用户单位 的行政管理,工作制度,使用人员的素质。 ) 5) 社会可行性: 分析开发系统是否符合当前法律和社会生产管理经营体制要 求,有无涉及到版权纠纷等,包括:违法、侵权、合同、责任、版 权等。 3、可行性研究的步骤 1)审查系统的规模和目标 2)研究目前正在使用的系统 w研究原有系统的功能。 w研究原有系统存在的缺点。 w分析原系统的文档资料和使用手册。 w描绘原系统的高层系统流程图。 (注意:了解原有系统能做什么,而不是了解它怎 样做。) 3)导出新系统的高层逻辑模型 从原有系统物理模型,导出新系统的逻 辑模型。画出系统流程图和数据流图。定义 系统中使用的数据,一般用数据字典表示。 4)做出可行性分析 进行成本效益分析,技术可行性分析, 社会可行性分析,论证可开发的理由。 成本/效益分析的目的:从经济的角 度分析开发一个特定的新系统是否合算,来 帮助使用部门正确作出是否投资这项开发工 程的决定。 5)找出可实施方案 画出推荐系统目标逻辑模型 6)写可行性报告。(阶段性成果) 可行性报告提纲参见软件设计文档国家标准可行性研 究报告(GB856788),基本内容包括:引言、可行性研 究的前提、对现有系统的分析、所建议的系统、可选择的其 他系统方案、投资及效益分析、社会因素方面的可行性、结论 等。 7)文档提交审查 将可行性研究写成文档,请用户和使用部门审查,以决定 是否接受推荐的方案。 可行性分析的结果是形成可行性研究报告,最终 形成的可行性研究报告提纲如下表所示: 4、成本/效益分析 w直接效益 服务(内容、质量) 节省开支 提高工作效率 w间接效益 科学决策 快速决策 5、成本估计 1) 用户成本估计 2) 系统统开发发成本估计计(任务分解技术) w首先把软件开发工程分解为若干个相对独立的任务 ,估计每个任务的成本时,通常先估计完成该任务 需要用的人力(以人月为单位),再乘以每人每月 的平均工资而得出每个任务的成本。 w最常用的办法是按开发阶段划分任务。如果软件系 统很复杂,由若干个子系统组成,则可以把每个子 系统再按开发阶段进一步划分成更小的任务。 w典型环境下各个开发阶段需要使用的人力的百分比 大致如表所示。 二、需求分析 2.1.需求分析的任务 w基本任务是准确地回答“系统必须做什么?”这个问 题。主要包括: 1。深入描述软件的功能和性能 2。确定系统设计的约束和与其它系统元素的接口细节 3。定义系统的其它有效性需求 w这个阶段的任务仍然不是具体地解决问题,而是准 确地确定“为了解决这个问题,目标系统必须做什么 ”,主要是确定目标系统必须具备哪些功能。 系统分析员在需求分析阶段必须和用户密切配 合,充分交流信息,以得出经过用户确认的系统 逻辑模型。通常用数据流图、数据字典和简要的 算法表示系统的逻辑模型。 在需求分析阶段系统分析员将仔细研究这些功 能并进一步将它们具体化。在这个阶段结束时交 出的文档中应该包括详细的数据流图。数据字典 和一组简明的算法描述。 可行性研究阶段产生的文档,特别是数据流图 ,是需求分析的出发点。数据流图中已经划分出 系统必须完成的许多基本功能, 2.2、需求分析过程 1) 结构化分析方法(简称SA方法) 就是面向数据流自顶向下逐步求精进行需 求分析的方法。通过可行性研究已经得出了目标 系统的高层数据流图,需求分析的目的之一就是 把数据流和数据存储定义到元素级。 2)定义需求 3)用户审查 4)细化数据流图 5)开发系统原型 6)书写需求分析报告 7)需求分析报告审查(用户和项目组) uu 数据流图数据流图( (DFD,DataDFD,Data Flow Diagram) Flow Diagram) 数据流程图是用符号化方法进行系统分析的工具, 用于描述数据流动、数据存储、数据处理的逻辑关 系。 uu 数据字典数据字典 数据字典是描述各类数据的集合和标准规范,通常 由数据元素、数据结构、数据流、数据存储和处理 过程组成。 1、 系统功能要求 应该划分出系统必须完成的所有功能。 2、 系统性能要求 例如,联机系统的响应时间(即对于从终端输入的一个“事务” ,系统在多长时间之内可以做出响应),系统需要的存储容量以及后 援存储,重新启动和安全性等方面的考虑都属于性能要还应。 3、 运行要求 这类要求集中表现为对系统运行时所处环境的要求。例如支持 系统运行的系统软件是什么,采用哪种数据库管理系统,需要什么样 的外存储器和数据通信接口等。 4、 将来可能提出的要求 应该明确地列出那些虽然不属于当前系统开发范畴,但是据分 析将来很可能会提出来的要求。 2.3 定义需求 功能需求、性能需求、环境需求、可靠性需求、安全保密要求 、用户界面需求、资源使用需求、成本消耗需求、开发进度需 求是主要考虑因素。 2.4 分析系统的数据要求 w复杂的数据由许多基本的数据元素组成,数据 结构表示数据元素之间的逻辑关系。利用数据字 典可以全面准确地定义数据,但是数据字典的缺 点是不够形象直观。为了提高可理解性,常常利 用图形、表等辅助工具描绘数据结构。 wGIS应用项目,对图形数据的要求较高,定义 需求时一定弄清楚用户能提供什么样的数据,还 需要那些数据,如何获取和加工。 w w 规格说明必须包括系统运行环境规格说明必须包括系统运行环境 w w 规格说明必须是一个认识模型规格说明必须是一个认识模型 w w 规格说明必须是可操作的规格说明必须是可操作的 w w 规格说明必须容许不完备性并允许扩规格说明必须容许不完备性并允许扩 充充 w w 规格说明必须局部化和松散耦合规格说明必须局部化和松散耦合 2.3 2.3 软件需求规格说明软件需求规格说明 开发原型系统通常有两个主要目的: w检验关键设计方案的正确性 w系统是否真正满足用户的需要。 建立原型系统原因: 1) 由于人类认识能力的局取胜,不能预先指定所有 要求; 2) 在用户和系统分析员之间存在固有的认识鸿沟; 3) 用户需要一个“活的”系统模型,以便获得实践经 验; 4) 在开发过程中重复和反复是必要的和不可避免的 ; 5) 目前有快速建立原型系统的工具可供选用。( UML) 2.4开发原型系统 2.5 2.5 需求分析评审需求分析评审 (特别重要)(特别重要) 1. 系统定义的目标是否与用户的要求一致; 2. 系统需求分析阶段提供的文档资料是否齐全; 3. 文档中的所有描述是否完整、清晰、准确反映用户要求; 4. 与所有其它系统成分的重要接口是否都已经描述; 5. 被开发项目的数据流与数据结构是否足够,确定; 6. 所有图表是否清楚,在不补充说明时能否理解; 7. 主要功能是否已包括在规定的软件范围之内,是否都已充分说 明; 8. 设计的约束条件或限制条件是否符合实际; 9. 开发的技术风险是什么; 10. 是否考虑过软件需求的其它方案; 11. 是否考虑过将来可能会提出的软件需求; 12. 是否详细制定了检验标准,它们能否对系统定义是否成功进 行确认 2.6 需求分析报告 w需求分析的最终结果是形成需求分析报告 w这里要说明是: 很多情况下需求分析报告也叫系统(软件 )规格说明书,它一般作为项目合同的附件 ,是合同成立的基础,也是项目验收的依据 ,具有一定的法律效力,因此在书写是一定 要慎重。表达必须准确、清晰,不能含糊不 清,为以后带来不必要的麻烦。 三、总体设计 1. 确定系统的目标与属性 2. 进行各子系统或模块的划分与功能描述 3. 模块或子系统间的接口设计 4. 软硬件配置设计 5. 网络设计 6. 输入输出与数据存贮要求 7. 开发策略规定 8. 成本与收益分析 3.1 总体设计的内容 3.2 接口设计 1用户接口 说明将向用户提供的命令和它们的语法结 构,以及软件的回答信息。 2外部接口 说明本系统同外界的所有接口的安排包括 软件与硬件之间的接口、本系统与各支持软 件之间的接口关系。 3内部接口 说明本系统之内的各个系统元素之间的接 口的安排。 3.3运行设计 1运行模块组合 说明对系统施加不同的外界运行控制时所 引起的各种不同的运行模块组合,说明每种运 行所历经的内部模块和支持软件。 2运行控制 说明每一种外界运行控制的方式方法和操 作步骤 3运行时间 说明每种运行模块组合将占用各种资源的 时间 3.4 系统数据结构设计 1逻辑结构设计要点 给出本系统内所使用的每个数据结构的名称、标 识符以及它们之中每个数据项、记录、的标识、定 义、长度及它们之间的层次的或表格的相互关系。 2物理结构设计要点 给出本系统内所使用的每个数据结构中的每个数 据项的存储要求,访问方法、存取单位、存取的物 理关系(索引、设备、存储区域)、设计考虑和保 密条件。 3数据结构与程序的关系 说明各个数据结构与访问这些数据结构的形式。 3.5 编码设计 编码设计的原则: w唯一性 w合理性 w可扩充性 w简单性 w实用性 w规范性 w系统性 3.6 界面设计 w美观 w整洁 w简单 w易用 3.7 系统出错处理设计 1出错信息 用一览表的方式说明每种可能的出错或故障情况出现时,系统输 出信息的形式、含意及处理方法。 2补救措施 说明故障出现后可能采取的变通措施,包括: 1)后备技术说明准备采用的后备技术,当原始系统数据万一丢 失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录 到磁带上去就是对于磁盘媒体的一种后备技术; 2)降效技术说明准备采用的后备技术,使用另一个效率稍低的 系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技 术可以是手工操作和数据的人工记录; 3)恢复及再启动技术说明将使用的恢复再启动技术,使软件从 故障点恢复执行或使软件从头开始重新运行的方法。 3系统维护设计 说明为了系统维护的方便而在程序内部设计中作出的安排,包括 在程序中专门安排用于系统的检查与维护的检测点和专用模块。 四、详细设计 1)模块设计 2)代码设计 3)数据库设计 4)数据获取方案设计 5)界面设计 6)输入输出设计 7)程序模块设计 8)安全性设计 9)实施方案设计 4.1 详细设计的内容 4.2 输入输出设计 w数据输入的格式、类型、形式、校验等 w数据输出的内容、形式(报表、专题图 ) 4.3 数据库设计 1属性数据库 表、查询、索引、视图、报表(第三范式) 2空间数据库 1)图幅划分 2)图层划分 (标注图层、栅格图层) 3)比例尺 4)坐标系 5)应用模型 3属性数据库与空间数据库的连接 ID号、统计数据、专题地图 u编码 u系统测试 u运行、维护与评价 软件开发的其它阶段 五、GIS工程中的组织管理 1. GIS工程中的领导层 总经理-副总总工项目经理 2. 组织机构与人员分配 1复合型人才(项目经理、系统分析师、售前工程师) 2软件设计人才(项目经理、系统分析师) 3软件编辑人才 (程序员) 4系统应用人才(程序员、技术支持工程师) 5软硬件维护人才(技术支持工程师) 6制图人才 7数据采集员 六、GIS工程中文档的管理 6.1 文档的重要性 a. 沟通 b. 控制 c. 链接 d. 任务阶段的后继阶段工作的依据 e. 记录 f. 参照 g. 辅助 6.2文档分类 1. 基础文档 2. GIS开发文档 1)GIS信息分类与编码 2)地理原始数据预处理规范 3)地理数据质量规范 4)地理数字化规范 5)空间数据库建库技术规范 6)GIS实体属性标准 7)GIS数据维护规范 8)服务与收费标准 1. 基础文档 1)可行性研究报告 2)项目开发计划书初稿 3)GIS总体需求说明书 4)项目开发计划书终稿 5)GIS总体设计说明书 6)工程质量控制方案 7)GIS系统测试计划 8)GIS详细设计书 2. GIS开发文档 9)GIS系统测试分析报告 10)项目总结报告 11)用户手册 12)系统安装手册 13)系统管理员手册 14)系统维护手册 15)数据维护手册 16)各种制度条例汇总 2. GIS开发文档 1即时性 2一致性 3完整性 4可读性 5规范性 6.3 文档的质量要求 w1. 全部采用文件管理 (CAD用,GIS基本不用) w2文件结合关系数据库管理 (目前常用,最成 熟) w3. 全部采用关系数据库管理 (Geodatabase,新 兴) w4. 采用面向对象数据库(OO-DBMS)管理 (不够成 熟) w5. 全部纯文本文件管理(XML-GML) (最有发展 前途) 七、常见GIS系统的数据组织和 管理 八 、GIS二次开发的方法 1. 二次开发宏语言 如AML、MapBasic 、Avenue等 优点:几乎能够实现GIS基础平台提供的所有功能 缺点: 开发速度慢 需要学习专门的语法、函数 程序运行的效率低 需要在原有GIS基础平台上运行 程序错误难以控制 AML(Arc Macro Language) wAML(Arc Macro Language),是用户在Arc/Info 中的ARC环境下,进行二次开发的宏语言。它主要包 括设置用户环境、输入源指令、指令流控制、变量操 作指令、程序实验和监视指令、对话环境指令、坐标 输入指令、数学和三角函数、字符串操作功能、用户 文件输入输出功能、文件管理功能、用户输入功能等 。通过ARC系统,AML能用于执行各种任务,例如: 自动执行一系列动作类似于批处理、生成用户自己的 命令集、编制菜单以及用户界面设计。 由ARC/INFO指令、AML指 令、变量和函数构成的程序 arcedit;disp 9999;2button drawe arc node errors nodecolor dangle 2;nodecolor pseudo 3 &sv covername getcover * 打开编辑层 -sort &if exists %covername% -cover &then ec %covername% draw 用文本编辑器记事本输入以下指令,并存为 inedit2.aml 本程序在arc环境下运行,运行结果是进入ARCEDIT模块, 并打开编辑层。 GIS二次开发的方法 2. 调用API函数(一般是封装在动态链接库中) ArcInfo 提供的AO开发,基于控件的开发严 格意义上讲也属于这一类。 优点:开发方便,容易与VB、VC、Delphi等开发 平台的程序集成 缺点:受GIS提供商的限制太多,需要购买相应功 能的模块,用户很难扩充原有模块的功能。 Public MapInfo As Object 在模块中定义的 Mapinfo对象 Private Sub menuMapCreateThematic_Click() MapInfo.RunMenuCommand M_MAP_THEMATIC MapInfo.Do “Set Window Legend Parent “ & ActiveForm.hwnd & “ Show“ MapInfo.Do “Set Legend “ End Sub Private Sub menuMapModifyThematic_Click() MapInfo.RunMenuCommand M_MAP_MODIFY_THEMATIC End Sub Private Sub menuMapPreviousView_Click() MapInfo.RunMenuCommand M_MAP_PREVIOUS End Sub GIS二次开发的方法 3.利用控件进行二次开发 MapX、MO GeoMap、MapEngine、TopMap等很多 优点:开发方便,容易与VB、VC、Delphi等开发 平台的程序集成,系统能够脱离原有GIS平台独立运 行。 缺点:系统受控件提供功能的限制,用户难以扩充 ,开发出来的系统往往功能有限。 GIS二次开发的方法 4. 利用VBA进行二次开 ArcInfo 8.x以后的版本提供VBA进 行二次开发 标准化 数据标准化 u中华人民共和国国家标准 中华人民共和国行政区代码 ( GB/T2260 -1999 )。 u县以上行政区编码使用国标码;乡镇代码用云南省制定 的标准码; u与其它专题相关的信息,利用主系统制定的编码标准; u有计量单位的数据使用国际标准,货币单位使用人民币 元。 软件设计标标准文档 n 计算机软件开发规范 GB 8566 n 计算机软件质量保证计划规范 GB/T 12504-90 ArcGIS Engine Developer Kit ArcGIS Engine Developer Kit is a component-based software development product for building and deploying custom GIS and mapping applications. The ArcGIS Engine consists of a software development kit and a re-distributable runtime required for any ArcGIS Engine based application. It is not an end user product but rather a toolkit for application developers. The software components called ArcObjects that compose the Engine are operating platform neutral and can be called from various programming interfaces, such as .NET, Java, COM and C+. ArcGIS Engine is suitable for building basic mapping up through comprehensive, dynamic GIS applications for Windows, Solaris or Linux users. ArcGIS Engine 应用程序开发 过程 1)创建并且设计好数据 2)确定使用哪种应用程序 3)执行软件授权代码 4)编写应用程序的功能 5)部署发布 步骤 2. ArcGIS Engine 安装 COM库全部自 动安装 其安装路径是 默认到其他已经 安装的ArcGIS 产品的路径 2.1.5 嵌入式GISGIS组件 wArcGIS Engine 提供了一套应用于ArcGIS Desktop 应 用框架之外的嵌入式ArcGIS 组件。 w使用ArcGISEngine,开发者在C+,COM,.NET 和 Java 环境中使用简单的接口获取任意GIS 功能的组合来 构建专门的GIS 应用解决方案。 w开发者通过ArcGIS Engine 构建完整的客户化应用或者 在现存的应用中(例如微软的Word或者Excel)嵌入GIS 逻辑来部署定制的GIS 应用,为多个用户分发面向GIS 的解决方案。 wArcGIS Engine 是面向开发人员的一个产品。 w可在Visual Baisc 等开发环境中使用ArcGIS Engine 2.3 ArcGIS Desktop:桌面GIS wArcGIS Desktop是一系 列整合的应用 程序的总称, 包括 w ArcCatalog w ArcMap wArcGlobe wArcToolbox wArcScene w等应用程序 ArcGIS Engine能做什么? v显示多个图层组成的地图 v漫游和缩放地图 v查找地图中的要素 v用某一字段显示标注 v显示航片和遥感影像的栅格数据 v绘制几何要素 v绘制描述性的文字 v沿线,或者用多边形,圆等选择要素 v根据一定距离选择要素 v通过sql表达式查询要素 v渲染要素 v动态显示实时数据,或时间序列数据 v地图定位 v几何操作 v维护几何要素 v创建和更新地理要素和属性 工具集 w选择 w绘图 w地图打印 wScene wGlobe w标准 编程开始之前需要做什么? w阅读ArcGIS Engine Developer向导! w了解ArcObjects编程的基础 w具体步骤: 1. 安装 ArcGIS Engine开发包. 2. 决定你将开发的应用程序的类型 3. 选择一种API和开发环境. 4. 编写应用程序代码. 5. 分发应用程序. 开发实例 wVisual Basic 6.0 wActiveX Visual Basic 6.0环境中的开发 1 引用相应的库,加载ArcGIS 控件 2 在控件中加入相应的地图文件 3 添加工具条 4 创建弹出式菜单 5 创建一个子定义的工具 6 自定义工具条 加载ArcGIS控件 1. 新建一个project 2. 在添加Components对话框中,选择ESRI MapControl,ESRI PageLayoutControl,ESRI TOCControl,ESRI ToolbarControl ,在ToolBox中 会以这样的图标出现 3. 在添加references对话框中,选择ESRI Carto Object Library, ESRI Display Object Library, ESRI Geometry Object Library, ESRI System Object Library, ESRI SystemUI Object Library 在Form中嵌入ArcGIS 控件 1. 打开已有的Form 2. 通过双击或者拖动的方式把工具箱 中 的ArcGIS控件加入到From中 在MapControl和PageLayout中 添加地图文档 Private Sub Form_Load() 在Pagelayout中检查和加载地图文档 Dim sFileName As String sFileName = App.path & “DataGulfofSt_Lawrence.mxd“ If PageLayoutControl1.CheckMxFile(sFileName) Then PageLayoutControl1.LoadMxFile sFileName End If End Sub Private Sub PageLayoutControl1_OnPageLayoutReplaced(ByVal newPageLayout As Variant) 加载相同的地图文档到MapControl中 MapControl1.LoadMxFile PageLayoutControl1.DocumentFilename Set the extent of the MapControl to the full extent of the data MapControl1.Extent = MapControl1.FullExtent End Sub 设置TOCControl,ToolBarControl 和 PageLayoutControl的联系 Private Sub Form_Load() 在Pagelayout中检查和加载地图文档 Dim sFileName As String sFileName = App.path“DataGulfofSt_Lawrence.mxd“ If PageLayoutControl1.CheckMxFile(sFileName) Then PageLayoutControl1.LoadMxFile sFileName End If 设置联系 TOCControl1.SetBuddyControl PageLayoutControl1 ToolbarControl1.SetBuddyControl PageLayoutControl1 End Sub 在ToolBarControl中添加工具 Dim sProgID As String 添加PageLayout中的浏览工具 sProgID = “esriControlTools.ControlsPageZoomInTool“ ToolbarControl1.AddItem sProgID, , , True, , esriCommandStyleIconOnly sProgID = “esriControlTools.ControlsPageZoomOutTool“ ToolbarControl1.AddItem sProgID, , , False, , esriCommandStyleIconOnly sProgID = “esriControlTools.ControlsPagePanTool“ ToolbarControl1.AddItem sProgID, , , False, , esriCommandStyleIconOnly 添加Map浏览工具 sProgID = “esriControlTools.ControlsMapZoomInTool“ ToolbarControl1.AddItem sProgID, , , True, , esriCommandStyleIconOnly sProgID = “esriControlTools.ControlsMapZoomOutTool“ ToolbarControl1.AddItem sProgID, , , False, , esriCommandStyleIconOnly sProgID = “esriControlTools.ControlsMapPanTool“ ToolbarControl1.AddItem sProgID, , , False, , esriCommandStyleIconOnly 为PageLayout创建弹出式菜单 IToolbarMenu指的是什么? 菜单定义 Option Explicit Private m_pToolbarMenu As IToolbarMenu 菜单定义 Private Sub Form_Load() 创建新的菜单 Set m_pToolbarMenu = New ToolbarMenu 在菜单中添加命令 m_pToolbarMenu.AddItem sProgID, , , False, esriCommandStyleIconAndText sProgID = “esriControlTools.ControlsPageZoomOutFixedCommand“ m_pToolbarMenu.AddItem sProgID, , , False, esriCommandStyleIconAndText sProgID = “esriControlTools.ControlsPageZoomWholePageCommand“ m_pToolbarMenu.AddItem sProgID, , , False, esriCommandStyleIconAndText sProgID = “esriControlTools.ControlsPageZoomPageToLastExtentBackCommand“ m_pToolbarMenu.AddItem sProgID, , , True, esriCommandStyleIconAndText sProgID = “esriControlTools.ControlsPageZoomPageToLastExtentForwardComm and“ m_pToolbarMenu.AddItem sProgID, , , False, esriCommandStyleIconAndText 把此菜单与PageLayoutControl挂钩 m_pToolbarMenu.SetHook PageLayoutControl1 End Sub Private Sub PageLayoutControl1_OnMouseDown(ByVal button As Long, ByVal shift As Long, ByVal x As Long,ByVal y As Long, ByVal pageX As Double, ByVal pageY As Double) 右键弹出菜单 If button = vbRightButton Then m_pToolbarMenu.P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水资源高效配置策略分析报告
- 客户服务体验提升分析报告
- 陶瓷原料勘查设备操作手册分析报告
- 生态补偿机制在生态补偿技术创新中的应用研究报告2025
- 聚焦2025年:家庭教育指导服务市场细分需求与供给匹配度提升报告
- 中医科培训试题及答案
- 中医临床概要试题及答案
- 中医面试题及答案
- 中医三基培训试题及答案
- 金融科技2025年赋能财富管理创新应用与客户体验深度解析
- 2025届广州市高三年级阶段训练(8月市调研摸底) 数学试卷(含答案)
- 《旅馆建筑设计原理》课件
- 2024年危险化学品经营单位安全管理人员考试练习题(附答案)
- 2024-2030全球与中国探地雷达市场现状及未来发展趋势
- 火龙果病虫害
- 电梯维保服务考核标准及评分办法
- 不使用童工的承诺书中英文版本
- 国际贸易理论与实务(陈岩 第四版) 课件全套 第0-16章 绪论、国际贸易理论、国际贸易政策-国际贸易方式
- 公司跟合作社合作协议书
- 局部麻醉知情同意书
- 五年级下册计算题400道及答案
评论
0/150
提交评论