- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
扩展开发入门汇编
SuperMap iDesktop
扩展开发入门
北京超图软件股份有限公司
课程目标
? 掌握扩展开发关键对象;
? 掌握扩展开发流程 ;
主要内容
? 开发基础
– 对象结构图
– 关键对象
? 扩展方式
? 开发流程
概念回顾
? SuperMap iDesktop 8C是通过 SuperMap
iObjects .NET、桌面核心库和 .NET Framework
4.0构建的插件式 的桌面GIS平台。
以.NET Framework为基础,插件式的桌面GIS平台
对象结构图
开发基础 - 关键对象
?
?
?
?
Applicaton
插件相关对象模型
窗体相关对象模型
Ribbon 控件相关对象模型
注:
更多关键对象的说明,请参考《联机帮助》-《扩展开发指南》-《对象结构图说明》;
本课程主要介绍关键对象;
Application
? 是应用程序的定义。是组成桌面的基础。
? 一个 SuperMap iDesktop 8C 桌面产品的应用程序
对应一个Application 类实例。
–
–
–
–
–
–
工作空间
插件管理器
程序主窗口
闪屏窗口
输出窗口
脚本引擎
插件相关对象模型
? 每一个应用程序都包含了一个插件管理器
( PluginManager ),用于管理应用程序内的插
件。
– 插件管理器
– 插件定义
– 插件信息
窗体相关对象模型
? 窗体部分的对象模型主要提供的功能包括:多文
档的支持、多种类型窗口的支持、子窗口的管理、
各个窗口如何对外提供功能、浮动窗口的支持和
管理等。
? 在窗体设计上,SuperMap iDesktop 8C提供一个
统一的基础接口 IForm
–
–
–
–
–
–
–
主窗口
各种子窗口
浮动窗口
状态栏
最近文件列表
Ribbon
子窗口管理
Ribbon 控件相关对象模型
? SuperMap iDesktop 8C实现了界面和功能的分离,
各类 Ribbon 控件的生成由内部实现。
–
–
–
–
–
–
–
–
–
–
按钮
Gallery按钮
下拉按钮
组合框
文本框
标签
颜色按钮
复选框
Gallery
CtrlAction
扩展方式
? 创建新的Assembly,编写动态库。
? 配置文件中嵌入代码段(或代码文件)
编写动
态库
代码段
代码文
件
演示-扩展方式
? 演示内容:
– 分别通过3种扩展方式实现以下功能:
–
点击按钮,应用程序应用的所有插件信息会在输
出窗口中输出;
? 扩展方式
– 编写动态库 (CtrlAction)
– 代码文件(CodeFile)
– 代码段(ScriptCode)
? 参考
– 《联机帮助》-产品入门-二次开发
生成插件相关文件
确定使用的模块-对象-接口
第三步:修改配置文件,配置界面要素
界面设计
第二步:确定扩展方式
确定扩展方式
第一步:明确实现的功能是什么
分析功能需求
开发流程
第五步:编译生成插件动态库文件
或生成代码段/代码文件
第四步:确定要使用的模块、对象、接口,
掌握对象之间的关系
演示-插件开发-编写动态库
? 演示内容
– 在【数据】选项卡-【数据集】组中增加一个功能
按钮“输出数据集范围”,把当前选中的数据集范
围,输出到输出窗口中;
? 扩展方式CtrlAction——编写动态库
– 使用插件模板
Dataset
Dataset. Bounds
开发思路
选择数据集
Ribbon界面
1
Run()
2
3
Application.ActiveDatasets
显示数据集范围
Application.ActiveApplication.Output.Output ()
主要接口
? Application.ActiveDatasets 属性
– 获取或设置当前被进行某种操作的数据集数组。
? Dataset. Bounds 属性
– 用于获取数据集中包含所有对象的最小外接矩形。
? Application.ActiveApplication.Output.Output ()
方法
– 用于将指定的输出信息在输出窗口中输出。
开发流程演示-编写动态库-使用插件模
板
? Step1:在VS基于SuperMap Desktop Plugin 模
板新建插件工程
– 以VS2010为例
插件工程
? DesktopPlugin.cs
– 对插件的定义,用来处理插件的初始化工作;
? CtrlAction.cs
– 对操作功能的定义,用来响应控件事件触发时所要
执行的内容;
? Desk
文档评论(0)