第七章ArcView用户界面的自定义ArcView自定义是指用户通过调整ArcView的项目组件及其主菜单、按钮条、工具条、弹出式菜单的排列组合方式,以改变ArcView用户界面的基本外观的交互式操作。ArcView的自定义操作有着自身特定的对话框,在对话框之内,用户可以根据自已当前研究项目的特殊需要给用户界面添加新的控制项,也可以删除自已不需要的或根本用不着的控制项。此外,用户也可以添加经常使用的脚本,使这些脚本能够与新增控制项或者基本操作事件(如打开、关闭一个文档类型)相关联。另外您也可以简单地将它们纳入到您默认的设置中去。为自已使用方便而自定义ArcView界面,您可以为每一种默认类型(如:View、Table、Chart、Layout、Script、Project、Appl等)创建自定义设置,从而创建新的用户界面。用户所创建的自定义设置可以保存成一个名为defaultapr的默认文档文件。该文件被贮存于用户设定的HOME文档目录之下,每当用户启动ArcView应用程序时,系统将会自动读取该文档信息,并使其凌驾于系统默认设置文件之上,优先生成用户“自定义界面”。ArcView系统界面配置文件也取名为defaultapr,不过它被贮存于系统装载路径中的etc文件夹之内,如果用户当前打开的项目路径之下没有“用户自定义的defaultapr文件”,则ArcView启动时将自动读取该系统配置文件,生成标准的缺省ArcView界面。第一节自定义用户界面如前所述,ArcView的“项目”实际上是由一系列组件(如:View、Table、Chart等)所组成的文档集合。每一种组件或文档都具有相似的“图形用户界面”(英文缩写:GUI),各种类型“组件”的GUI都是由3种基本控制群组所组成,分别为:菜单栏、按钮条、工具条。使用ArcView所提供的简单编程语言Avenue,用户可以对GUI进行修改。比如可以添加、删除或整理组件,可以修改每一种控制群组的属性值,可以对每一个组件之下的所有“控制项”进行编辑。总之,ArcView可以使用户随心所欲地创建一种符合自身需要的自定义界面。实际上,用户在进行自定义界面操作时并不需要使用繁琐的Avenue编程,通过双击ArcView当前界面中的按钮条或工具条中的任意空白区,即可弹出一个能够使您轻松完成全部自定义工作的“自定义界面对话框”。(如图7-1)78
78 第七章 ArcView 用户界面的自定义 ArcView 自定义是指用户通过调整 ArcView 的项目组件及其主菜单、按钮条、工具条、 弹出式菜单的排列组合方式,以改变 ArcView 用户界面的基本外观的交互式操作。ArcView 的自定义操作有着自身特定的对话框,在对话框之内,用户可以根据自已当前研究项目的 特殊需要给用户界面添加新的控制项,也可以删除自己不需要的或根本用不着的控制项。 此外,用户也可以添加经常使用的脚本,使这些脚本能够与新增控制项或者基本操作事件 (如打开、关闭一个文档类型)相关联。另外您也可以简单地将它们纳入到您默认的设置 中去。 为自己使用方便而自定义 ArcView 界面,您可以为每一种默认类型(如:View、Table、 Chart、Layout、Script、Project、Appl 等)创建自定义设置,从而创建新的用户界面。 用户所创建的自定义设置可以保存成一个名为 default.apr 的默认文档文件。该文件被 贮存于用户设定的 HOME 文档目录之下,每当用户启动 ArcView 应用程序时,系统将会 自动读取该文档信息,并使其凌驾于系统默认设置文件之上,优先生成用户“自定义界面”。 ArcView 系统界面配置文件也取名为 default.apr,不过它被贮存于系统装载路径中的 etc 文件夹之内,如果用户当前打开的项目路径之下没有“用户自定义的 default.apr 文件”, 则 ArcView 启动时将自动读取该系统配置文件,生成标准的缺省 ArcView 界面。 第一节 自定义用户界面 如前所述,ArcView 的“项目”实际上是由一系列组件(如:View、Table、Chart 等) 所组成的文档集合。每一种组件或文档都具有相似的“图形用户界面”(英文缩写:GUI), 各种类型“组件”的 GUI 都是由 3 种基本控制群组所组成,分别为:菜单栏、按钮条、工 具条。使用 ArcView所提供的简单编程语言 Avenue ,用户可以对 GUI 进行修改。比如可 以添加、删除或整理组件,可以修改每一种控制群组的属性值,可以对每一个组件之下的 所有“控制项”进行编辑。总之,ArcView 可以使用户随心所欲地创建一种符合自身需要 的自定义界面。 实际上,用户在进行自定义界面操作时并不需要使用繁琐的 Avenue 编程,通过双击 ArcView 当前界面中的按钮条或工具条中的任意空白区,即可弹出一个能够使您轻松完成 全部自定义工作的“自定义界面对话框”。(如图 7-1)
B回区O Custonize:UntitledType. [Layout口Edit.ResetCategory:PopupsAMake DefaultMenu4Select AllUndoBring to FrontSend to Back1国NewPopupNewltemSeparatorDeleteDisabledFalseHelpHelpTopic.FalseInvisibleLabelMenuTag.Update图7-1用户自定义界面对话框、自定义界面对话框的内容由图7-1可见,ArcView的自定义界面对话框分为3大功能区:1、上部区包括两个下拉列表框和三个操作按钮。(1)“类型”(Type)下拉列表框:包括Project、View、Table、Chart、Layout、Script、Appl七个选项。如图7-2左幅(2)“种类”(Category)下拉列表框:包括Menus、Buttons、Tools、Popups四个选项。如图7-2右幅所示。Type:ProjectApplCateProjectCategory:MenusA一ViewMenusTableButtonsChartToolsLayoutPopupsScriptA图7-2自定义对话框内上区的两个下拉列表框(3)“编辑”(Edit)按钮:单击它,将会弹出一个“项目组件自定义”对话框。操纵对话框,可以控制ArcView项目窗口中的组件类型及其排布方式,也可修改各组件的名称,比如:根据视图的实际内容,将原来的名称Viewl改为“世界地图”,将另一个View的复制件名称改为“中国地图”等等。如图7-3。(4)“重置”(Reset)按钮:79
79 一、自定义界面对话框的内容 由图 7-1 可见,ArcView 的自定义界面对话框分为 3 大功能区: 1、 上部区 包括两个下拉列表框和三个操作按钮。 (1)“类型”(Type)下拉列表框: 包括 Project、View、Table、Chart、Layout、Script、Appl 七个选项。如图 7-2 左幅。 (2)“种类”(Category)下拉列表框: 包括 Menus、Buttons、Tools、Popups 四个选项。如图 7-2 右幅所示。 (3)“编辑”(Edit)按钮: 单击它,将会弹出一个“项目组件自定义”对话框。操纵对话框,可以控制 ArcView 项目窗口中的组件类型及其排布方式,也可修改各组件的名称,比如:根据视图的实际内 容,将原来的名称 View1 改为“世界地图”,将另一个 View 的复制件名称改为“中国地图” 等等。如图 7-3。 (4)“重置”(Reset)按钮: 图 7-2 自定义对话框内上区的两个下拉列表框 图 7-1 用户自定义界面对话框
单击它,则放弃当前自定义编辑,恢复界面的系统设置值。(5)“创建用户默认文件”(MakeDefault)按钮:单击它,则将用户自定义的界面设置为“用户默认文件”。文件名为:default.apr,保存在SHOME用户目录之中。Custonire Types口区-NamLProiect佳LDocBaseNameNew.世界绝图ShowinProjectwindow国CopyTitleProjectIconIconDeleteNewScriptNewUpdateS.cript.中国OpenScriplOpenUpdateScriptActionScriptActionUpdateScriptTables70图7-3项目组件自定义框2、中部区(控制编辑器)功能:重新组织图形用户界面(GUI)。用户可以通过修改控制项来改变GUI的外表配合“描述区”下侧提供的三个按钮:添加(New)、删除(Delete)、分隔(Separators),可以添加新的控制项、删除多余的项以及对控制项的水平、垂直排列进行分组(通过插入空格实现水平分组,通过插入一条水平线将垂直项目分开)。3、底部区(属性列表区)位于整个对话框的底部,外形是一个二维表格。表格动态反映出上述两个区域对应选项的综合属性信息,这些属性信息决定着ArcVieWw图形用户界面的操作行为及外表。用鼠标双击二维表的表行任意处,将弹出相应的编辑对话框,通过对话框可以实现对表内各属性项的属性值的修改。由于表格内各个属性值类型不同,双击则可能带来三种结果:其一:如果该行属性值反映的是“逻辑判断”(回答:是/否)型属性信息,则双击的结果将立即在“是/否”之间进行变换(比如:原来值为Ture,则双击后变为“false")。其二:如果该行属性值是一种说明区Seript lanager性的“字符串”信息,则双击之后,将Appl.GetE xtensionwinOK弹出一个“字符串”编辑框,在该框内LAppl.GetExtensionWin用新设字符串信息取代旧字符串信息之CancelAppl.Initialize后,单击“OK”即可完成编改。Chart.AreaG alleryChart.BarG allery其三:如果该行属性信息是属于Chart.ColumnG allery“Avenue”函数型的,则双击后将会弹Chart.EraseNew...Chart.ErasePoly出一个“脚本管理器”(ScriptChart.Find口Manager),如图7-4所示。用户根据需要可以在管理器的列表区选择合适的脚图7-4脚本管理器视图本类型,然后单击“OK”确认。80
80 单击它,则放弃当前自定义编辑,恢复界面的系统设置值。 (5)“创建用户默认文件”(Make Default)按钮: 单击它,则将用户自定义的界面设置为“用户默认文件”。文件名为:default.apr,保 存在$HOME 用户目录之中。 2、 中部区(控制编辑器) 功能:重新组织图形用户界面(GUI)。用户可以通过修改控制项来改变 GUI 的外表, 配合“描述区”下侧提供的三个按钮:添加(New)、删除(Delete)、分隔(Separators), 可以添加新的控制项、删除多余的项以及对控制项的水平、垂直排列进行分组(通过插入 空格实现水平分组,通过插入一条水平线将垂直项目分开)。 3、 底部区(属性列表区) 位于整个对话框的底部,外形是一个二维表格。表格动态反映出上述两个区域对应选 项的综合属性信息,这些属性信息决定着 ArcView 图形用户界面的操作行为及外表。 用鼠标双击二维表的表行任意处,将弹出相应的编辑对话框,通过对话框可以实现对 表内各属性项的属性值的修改。由于表格内各个属性值类型不同,双击则可能带来三种结 果: 其一:如果该行属性值反映的是“逻辑判断”(回答:是/否)型属性信息,则双击的 结果将立即在“是/否”之间进行变换(比如:原来值为 Ture,则双击后变为“false”)。 其二:如果该行属性值是一种说明 性的“字符串”信息,则双击之后,将 弹出一个“字符串”编辑框,在该框内 用新设字符串信息取代旧字符串信息之 后,单击“OK”即可完成编改。 其三:如果该行属性信息是属于 “Avenue”函数型的,则双击后将会弹 出 一 个 “ 脚 本 管 理 器 ”( Script Manager),如图 7-4 所示。用户根据需 要可以在管理器的列表区选择合适的脚 本类型,然后单击“OK”确认。 图 7-4 脚本管理器视图 图 7-3 项目组件自定义框
综合考虑各种控制项属性,可将底部列表区的属性设置功能概括如下:①控制项可见与否?②控制项是否活动?③与按钮或工具条相关的图标设定④与工具条相关联的光标形状设定③出现于状态栏的提示信息③与控制项相关联的帮助主题信息?被特定控制项执行的Avenue脚本。小结:通过对用户界面中的菜单、按钮、工具条以及与每一种控制项相关联的Avenue脚本的控制,用户就被赋予一种仔细设置GUI以满足自己的特殊应用项目需求的能力。这种能力可以使用户以其自置的用户界面来取代系统所提供的一成不变的应用程序外表。二、ArcView项目的自定义窗口我们知道,ArcVieW的项目窗口是由左、右两个窗格组成的。左窗格显示了当前项目的所有组件类型,如:View、Table、Chart等等。右窗格则显示了左窗格被选中的某一组件所包含的所有文档列表。与Windows操作平台的许多应用程序窗口相似,您可以通过鼠标拖拉的方法调节整个窗口的大小,但与其它“双窗格”式视窗不同的是,您不能用同样拖拉的方法改变ArcView项目窗口中左窗格的宽度,也就是说,不论项目窗口的整体怎样改变,显示项目组件的左窗格的宽度总是不变的。1、改变ArcView项目窗口组件布局(包括调整左窗格的宽度)的方法(1)双击当前视图工具条或按钮条的任意空白处,或者从“项目”菜单中选择“自定义”(Customize),弹出一个“自定义对话框”。(2)在对话框上部区内单击“编辑”(Edit)按钮,弹出“自定义项目类型”(CustomizeTypes)对话框。图7-5(上层为“窗口自定义对话框”,下层为以“Untitled”为名称的项目窗口)Wntitled口NewCustonize TypesDD区VVName.ProlecDocBaseNarNew.中国地形国国地形区ShowinProjectWindoCopyTialeTableTablesIcon1.lconDeleteNewScript国国NewUpdateschaChartsOpenScriptOpenUpdates园ActionScriptActionUpdateLayoutsLayouts90-图7-5项目视图自定义示例81
81 综合考虑各种控制项属性,可将底部列表区的属性设置功能概括如下: ①控制项可见与否? ②控制项是否活动? ③与按钮或工具条相关的图标设定 ④与工具条相关联的光标形状设定 ⑤出现于状态栏的提示信息 ⑥与控制项相关联的帮助主题信息 ⑦被特定控制项执行的 Avenue 脚本。 小结:通过对用户界面中的菜单、按钮、工具条以及与每一种控制项相关联的 Avenue 脚本的控制,用户就被赋予一种仔细设置 GUI 以满足自己的特殊应用项目需求的能力。这 种能力可以使用户以其自置的用户界面来取代系统所提供的一成不变的应用程序外表。 二、ArcView 项目的自定义窗口 我们知道,ArcView 的项目窗口是由左、右两个窗格组成的。左窗格显示了当前项目 的所有组件类型,如:View、Table、Chart 等等。右窗格则显示了左窗格被选中的某一组 件所包含的所有文档列表。 与 Windows 操作平台的许多应用程序窗口相似,您可以通过鼠标拖拉的方法调节整个 窗口的大小,但与其它“双窗格”式视窗不同的是,您不能用同样拖拉的方法改变ArcView 项目窗口中左窗格的宽度,也就是说,不论项目窗口的整体怎样改变,显示项目组件的左 窗格的宽度总是不变的。 1、改变 ArcView 项目窗口组件布局(包括调整左窗格的宽度)的方法 (1)双击当前视图工具条或按钮条的任意空白处,或者从“项目”菜单中选择 “自定义”(Customize),弹出一个“自定义对话框”。 (2) 在对话框上部区内单击“编辑”(Edit)按钮,弹出“自定义项目类型” (Customize Types)对话框。图 7-5(上层为“窗口自定义对话框”,下层为 以“Untitled”为名称的项目窗口) 图 7-5 项目视图自定义示例
在自定义对话框内,分别可以完成组件的“新建”、“复制”、“删除”、改变组件的相关属性(如:重命名组件标题、改换组件图标、改换“脚本关联函数”等)、改变项目组件的排列次序以及改变项目窗口左窗格宽度等编辑作。如果您选中了对话框右侧上、下属性表之间的“立即在项目窗口中展示”(ShowinProjectWindow)复选框,那么您在“自定义对话框”内所做的任何改变都会立即在当前“ArcView的项目窗口”中反映出来。2、“新建”(New)按钮的作用“新建”允许用户重新设置项目窗口左窗格内的组件。单击“新建”,ArcView将显示出标准默认类型的列表:Project、View、Table、Chart、Layout、Script、Appl;选定其中一种默认类型并单击“OK”或者双击您想添加的默认类型名称,ArcVieW自动生成一个新类型,并把该组件的图标及其默认名称添加到对话框左侧的组件滚动栏的最上面,自动进入活动状态。对于Appl、Project两种组件来说,如果新建以前就已经存在同种组件,则新生组件的名称后面自动加上1、2、3等数字后缀,以示区别。新生组件的属性值被置为“空”,可以进行“删除”操作。如果想要该组件在项目窗口中显示出来,则需要选定“ShowinProjectWindow”复选框。在项目对话框内,新生组件将显示于原有同类组件之前,如果没有同种组件,则显示于组件展示区最上端。3、“复制”(Copy)按钮的作用其功能是在对话框及当前项目窗口中生成组件的复制品,与“新建”过程不同,“复制”的结果将会在对话框中产生一个与原组件属性完全一致的新组件。单击对话框左侧项自组件列表中恰当的组件图标选定您想复制的对象,使其高亮度显示:单击“复制”按钮,一个与原组件属性相同的、图标一致而名称相仿(对于Project、Appl类组件来说,复制品的名称是在原组件名称后顺次加上1、2、3等数字后缀)的新组件将出现于组件列表最上面,且自动进入活动状态。注意:组件“复制品”可以进行“删除”操作,而原项目组件如果内含实质性内容的话,则不允许进行“删除”操作。4、“删除”(Delete)按钮的作用单击图标,选定对话框左手边滚动列表中的项目组件,使其高亮度显示:单击“删除”钮,完成删除操作。尽可能避免误删除,如果不小心发生了误操作,可以用“新建”按钳配合恢复原组件。也可用<Ctrl+Z>组合键撤消最后一次操作,使原组件得以恢复。注意:您可以对“标准默认类型”进行删除或重新命名,但是下一次当您装载ArcView时,它们将出现在项月窗口中,而自不论是对系统默认文件还是还是您自已月录下的Default.apr文件,结果都会一样。另外,如果项目包含被选择用户界面的任何文档,那么“删除”按钮将成为灰色。5、项目窗口中的组件排序您可以使用鼠标上下拖放的方法对对话框左侧滚动列表中的项目组件进行重新排序。您也可以通过重排Avenue编程语言中的“项目的VisibleGUIs列表”来达到同一目的。6、改变属性表中的属性值当前活动组件的属性是以二列表格的形式出现在对话框的右侧。通过双击属性表行,82
82 在自定义对话框内,分别可以完成组件的“新建”、“复制”、“删除”、改变组件的相关 属性(如:重命名组件标题、改换组件图标、改换“脚本关联函数”等)、改变项目组件的 排列次序以及改变项目窗口左窗格宽度等编辑工作。 如果您选中了对话框右侧上、下属性表之间的“立即在项目窗口中展示”(Show in Project Window)复选框,那么您在“自定义对话框”内所做的任何改变都会立即在当前 “ArcView 的项目窗口”中反映出来。 2、“新建”(New)按钮的作用 “新建”允许用户重新设置项目窗口左窗格内的组件。 单击“新建”, ArcView 将显示出标准默认类型的列表:Project、View、Table、Chart、 Layout、Script、Appl;选定其中一种默认类型并单击“OK”或者双击您想添加的默认类 型名称,ArcView 自动生成一个新类型,并把该组件的图标及其默认名称添加到对话框左 侧的组件滚动栏的最上面,自动进入活动状态。 对于 Appl、Project 两种组件来说,如果新建以前就已经存在同种组件,则新生组件的 名称后面自动加上 1、2、3 等数字后缀,以示区别。 新生组件的属性值被置为“空”,可以进行“删除”操作。如果想要该组件在项目窗口 中显示出来,则需要选定“Show in Project Window”复选框。 在项目对话框内,新生组件将显示于原有同类组件之前,如果没有同种组件,则显示 于组件展示区最上端。 3、“复制”(Copy)按钮的作用 其功能是在对话框及当前项目窗口中生成组件的复制品,与“新建”过程不同,“复制” 的结果将会在对话框中产生一个与原组件属性完全一致的新组件。 单击对话框左侧项目组件列表中恰当的组件图标选定您想复制的对象,使其高亮度显 示;单击“复制”按钮,一个与原组件属性相同的、图标一致而名称相仿(对于Project、 Appl 类组件来说,复制品的名称是在原组件名称后顺次加上 1、2、3 等数字后缀)的新组 件将出现于组件列表最上面,且自动进入活动状态。 注意:组件“复制品”可以进行“删除”操作,而原项目组件如果内含实质性内容的 话,则不允许进行“删除”操作。 4、“删除”(Delete)按钮的作用 单击图标,选定对话框左手边滚动列表中的项目组件,使其高亮度显示;单击“删除” 钮,完成删除操作。尽可能避免误删除,如果不小心发生了误操作,可以用“新建”按钮 配合恢复原组件。也可用<Ctrl+Z>组合键撤消最后一次操作,使原组件得以恢复。 注意:您可以对“标准默认类型”进行删除或重新命名,但是下一次当您装载 ArcView 时,它们将出现在项目窗口中,而且不论是对系统默认文件还是还是您自己目录下的 Default.apr 文件,结果都会一样。另外,如果项目包含被选择用户界面的任何文档,那么 “删除”按钮将成为灰色。 5、项目窗口中的组件排序 您可以使用鼠标上下拖放的方法对对话框左侧滚动列表中的项目组件进行重新排序。 您也可以通过重排 Avenue 编程语言中 的“项目的 VisibleGUIs 列表”来达到同一目的。 6、改变属性表中的属性值 当前活动组件的属性是以二列表格的形式出现在对话框的右侧。通过双击属性表行