《第7章布局控件.ppt》由会员分享,可在线阅读,更多相关《第7章布局控件.ppt(13页珍藏版)》请在优知文库上搜索。
1、第七章 布局控件7.1 7.1 布局控件简介布局控件简介7.2 7.2 布局的管理布局的管理7.3 7.3 布局的基本操作布局的基本操作7.4 7.4 布局元素布局元素7.5 7.5 布局控件的其它功能布局控件的其它功能7.6 7.6 打印设置与打印打印设置与打印7.1 布局控件简介 地图的排版打印是GIS中很重要的部分,SuperLayout 控件集成了桌面排版的主要功能,利用这个控件,可以快速、方便地开发出精致的桌面地图排版系统。这是SuperMap控件集合中的一个特色控件,功能强大,能满足用户排版地图布局的各种要求。lSuperLayout控件可以新建、打开、关闭、保存、打印制作地图,l
2、可以画直线、圆弧、折线、矩形、圆角矩形、椭圆、多边形等,还可以加注文本,插入表格,l遇到特殊的线和符号制作要求,可以在SuperLayoutLib库中符号编辑器中制作好需要的符号之后,再加入到要制作的地图中,并可用线型编辑器改变线型的风格,制作需要的任意线型。l可以对生成的图形进行拷贝、剪切、选择和删除等操作,l可以组合、拆分图形,l也可以对地图进行放大、缩小和漫游操作,l还可以对地图进行布局设置。7.1 布局控件简介SuperLayout7.2 布局的管理 SuperLayout控件与SuperMap控件有许多相似之处,从它们与SuperWorkspace控件的连接方式以及在工作空间里的地图
3、对象和布局对象来说,两个对象的保存、打开及在工作空间的保存方式都一样。而且它们之间有一个很重要的联系:SuperLayout控件是用来排版地图的,操作的主要对象就是地图,SuperLayout库中的其它各种对象都是为布局地图对象服务的。在开始地图布局操作之前,必须有SuperMap控件保存过的地图对象,否则SuperLayout控件中的地图儿何对象不能显示地图。在SuperMap的数据组织中,布局对象跟地图对象一样,不作为一个单独的结构保存在一个单独的文件里,而是作为一个对象或是一种状态保存在工作空间里,保存在工作空间里的每一个布局对象都由一个惟一的名字或索引号来标识。对布局对象的管理工作包括
4、布局对象的保存、另存为、打开和获取当前布局对象的名称。在对布局对象的管理之前,首先要建立SuperLayout与SupeWorkspace之间的连接,然后SuperLayout从SupeWorkspace中获得布局变量的名称,来打开布局。连接工作空间:SuperLayout.Connect SuperWorkspace7.2 布局的管理7.2.1 打开布局对象 SuperLayout1.OpenLayout strLytName;如果打开成功,SuperLayout会自动关闭原来的布局。7.2.2 保存布局对象 SuperLayout.SaveLayout();如果SuperLayout在新建
5、和其它操作之后从未保存过,必须先调用 SuperLayout.SaveLayoutAs 方法,指定一个名称保存。布局并不保存为一独立的文件,而是保存在工作空间中,作为它的一部分。所以在保存了布局文件后还要保存工作空间。7.2.3 布局另存为 SuperLayout.SaveLayoutAs strLytName;如果保存为已有的,则覆盖。7.2.4 删除布局对象 SuperWorkspace1.Layouts.Remove(strLytName);删除一个 SuperWorkspace1.Layouts.RemoveAll ;删除全部7.3 布局的基本操作 SuperLayout的基本操作包括
6、对布局进行放大、缩小、漫游、选择布局元素等,通过设置SuperLayout的LytAction属性即可实现布局的放大、缩小、漫游和布局元素的选择等操作。在对布局的LytAction属性进行基本操作的设置之前,先设置布局控件的基本属性。布局控件的基本属性指的是布局控件的显示方式和状态。7.3.2 布局的基本操作SuperLayout1.LytAction=sclytActSel;选择SuperLayout1.LytAction=sclytActPalm;平移SuperLayout1.LytAction=sclytActZoomIn;放大SuperLayout1.LytAction=sclytAc
7、tZoomOut;缩小7.3.1 布局控件基本属性的设置 布局的基木属性包括显示刻度尺、显示分页符、显示网格、网格捕捉、网格尺、布局页面的大小等内容。SuperLayout.LayoutSetup()方法显示对话框。7.4 布局元素 布局元素包括有地图元素、比例尺、图例、文字、表格、模板、方向标等。在SuperLayout控件中可以创建和编辑这些布局元素。1.SuperLayout1.LytAction=sclytActMap;绘制地图对象SuperLayout1.LytAction=sclytActLegend ;图例SuperLayout1.LytAction=sclytActScale
8、;比例尺SuperLayout1.LytAction=sclytActText;文字 2.代码创建地图对象 Set obj=SuperLayout.Elements.CreateElement(seLytObjType);创建对象obj.SetPosition;设定位置属性obj.MapName=“”设定其他属性SuperLayout1.Refresh7.4.1 创建布局元素方法:1.通过设置SuperLayout的LytAction属性,弹出对话框交互式创建。2.代码的方式自动创建,SuperLayout.Elements.CreateElement(seLytObjType)7.4 布局元
9、素7.4.2 编辑布局元素 编辑分为基本编辑和布局元素编辑两种。基本编辑就是系统提供的常规编辑功能,如复制、剪切、粘贴、全选、反选、删除等。而布局元素的编辑则是针对superLayout中的布局对象进行的编辑。1、基本编辑SuperLayout.Selection.Cut;剪切SuperLayout.Selection.Copy;复制SuperLayout.Selection.Paste;粘贴SuperLayout.Selection.AddAll;全选2、布局元素编辑 (1)鼠标直接编辑 (2)设置属性对话框 (3)编写代码7.5 布局控件的其他功能7.5.1 地图对象的锁定与浏览 地图元素
10、在SuperLayout中独有的操作就是在地图的浏览,它通过MapAction属性实现地图的浏览。对地图的操作必须先选中地图对象,然后启动地图的锁定功能来锁定地图对象,最后对地图进行浏览操作。soLytMap.MapHold=True;锁定地图对象soLytMap.MapAction=scMapActPan;平移地图soLytMap.MapAction=scMapActZoomIn;放大地图soLytMap.MapAction=scMapActZoomOut;缩小地图soLytMap.MapAction scMapActZoomFree;自由缩放地图7.5.2 设置布局元素的格式(Deskpr
11、o说明,操作选择集)1、对齐2、居中3、大小4、等距5、组合与拆分7.6 打印设置与打印 需要调用SuperLayout提供的一种方法来对它进行打印输出。这三种方法分别是页面设置、打印设置和打印,一旦调用它们,将会各自弹出一个标准的对话框,实现与用户的交互操作,根据用户的实际需要进行打印。SuperLayout.PageSetup /页面设置SuperLayout.PrintSetup/打印设置SuperLayout.PrintLayout/打印GISGIS二次开发二次开发功能单元功能单元1.1.加载数据到地图控件。打开数据源、加载图层、加载数据到地图控件。打开数据源、加载图层、设置图层风格等
12、。设置图层风格等。2.2.地图浏览。全图、放大、缩小、漫游、平地图浏览。全图、放大、缩小、漫游、平移、移、3.3.查询。图查属性、属性查图查询。图查属性、属性查图4.4.编辑。图形编辑、属性编辑编辑。图形编辑、属性编辑5.5.分析。几何查询、缓冲区分析、分析。几何查询、缓冲区分析、6.6.输出输出 拓扑处理拓扑处理 三维三维Sample VBUsing_Layout:在SuperMap Objects 中对工作空间的布局进行基本的操作,以及如果创建布局添加一些布局元素的功能。第七章 布局控件范例程序学习第七章 布局控件范例程序学习l 搭建主窗体结构,连接控件(SuperLayout1),建立功
13、能菜单。连接工作空间和工作空间管理器,工作空间和布局控件。l 打开工作空间l 新建布局lSuperLayout1.Elements.RemoveAlllSuperLayout1.Disconnect/断开再重连lSuperLayout1.Connect SuperWorkspace1.Handlel 添加一些布局元素l如:添加地图SuperLayout1.LytAction=sclytActMapl 浏览布局l基本浏览:如放大,SuperLayout1.LytAction=sclytActZoomOutl布局的地图浏览l鼠标选中布局中的地图l锁定地图l浏览地图lSet objMap=SuperLayout1.selection.Item(1)/选中集中取得地图对象lobjMap.MapAction=scMapActPanl 保存布局lSuperLayout.SaveLayoutAs()与SuperLayout.SaveLayout()l 打印