预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第11章用MapBasic建立用户系统11.lMapBasic程序结构前一章介绍了MapBasic的基本元素,由它们构成MapBasic的不同种类的语句,再由语句组织成程序。但是MapBasic程序中的语句必须以一个特定的方式被安排,而不是任意的。例如:Global语句就不能放在Sub…EndSub结构中,下面给出的是MapBasic程序中不同组件排列顺序的一个典型的格式:全局级的语句出现在程序的项部Include“mapbasic.def”其他的Includc语句Type…EndType语句DeclareSub语句DeclareFunction语句Define语句Global语句…接下来是主过程定义…SubMainDim语句EndSub....接着是其他的子过程定义Sub....Dim语句EndSub......用户函数定义....Function....Dim语句EndFunction11.2用户界面程序实例为了能让读者迅速掌握用MapBasic进行应用程序开发的最基本方法,本节将通过剖析一个程序实例来展示MapBasic强大的开发功能。由于该程序只是一个演示程序,所以它的重点只放在用户界面的创建。对于其他一些辅助功能,本程序只提供了功能框架,而没有给出具有完整功能的程序模块。有兴趣的读者可以对本程序的部分或全部进行修改、增加和精简,以便完善该程序的功能。11.2.1程序功能简介一个优秀的应用程序,必须有一个令人赏心悦目的用户界面。一个设计良好的用户界面不但能够使用户得到视觉上的享受,而且能够提高人机交互的效率。本程序的最主要部分是生成一个用户界面,其中包括创建一个全用户化的菜单、定制符合用户要求的按钮盒和对话框,并且在必要时能及时打开一个合适的窗口(如地图窗口、浏览窗口或统计窗口等)。1。用户菜单一般情况下,我们并不需要完全放弃MapInfo的原始菜单,而只要在该菜单系统的基础上,适当地删去一些不需要的菜单或菜单项,再增加一些新的菜单或菜单项就可以制作出符合自己要求的菜单。但MapBasic同样支持你创建一个全新的菜单系统,本程序就是采用了这种方式。当运行该演示程序时,屏幕上将出现如图11.1所示的用户界面。程序图11-1演示程序的显示情况除了显示一个用户菜单及用户按钮盒外,还打开了一个地图窗口,在地图窗口中打开了几个MapInfo表。其中菜单栏在屏幕的最上方,它包括:系统菜单、演示菜单、对象、旅游查询、旅游统计图及帮助。·系统菜申.它由“打开表”、“关闭表”、“全部关闭”、“世界地图”和“退出”五个菜单项组成。主要完成对MapInfo表的打开与关闭操作,并同时将它显示在一个地图窗口中。其中“打开”是让用户选择并打开一个表,而“世界地图”是直接由MapBasic打开一个事先选定的表(World.tab);“关闭”是让用户选择一个当前打开的表把它关闭,并保存相应工作空间,而“全部关闭”是将当前矽甫打开的表全部关闭;“退出”是退出该演示程序恢复到原来的MapInfo界面。.演示菜单它包含一个“建介”了菜单。该子菜单用于生成一个用户菜单、按钮盒或对话柜。对应于此英申的MapBaslc功能模块就是生成用户界面的最典型方法。菜单项“工具栏”实质上是一个对话框,只是该对话框只包含四个复选框:主、常用、绘图、用户。当选中了其中的一个或多个,相应的按钮盒就会在屏幕亡显示,否则就会隐藏按钮盒。这里按钮盒“主”、“常用”和“绘图”是MapInfo系统自带的,而“用户”按钮盒则是由本演示程序自制的。另外,你还会看到三个呈现灰色的菜单项“设置更新口令”、“数据备份”和“数据恢复”,由于这些功能在本程序中还没有全部制作进去,所以这里把这些菜单项设置为不可选。·对象MapBasic可以创建、修改对象,而且可以把一个对象赋给一个表的对象列。该菜单包括一个“创建对象”子菜单和两个菜单项“折线转换成区域”、“区域转换成折线”。其中两个菜单项是呈灰色的,表示它们不可选择。而“创建对象”子菜单是用于创建MapInfo的图形对象,当用户选择了该子菜单下的一个菜单项时,程序首先将建立一个MapInfo表,并将该表地图化,接着为它追加一条记录,并把创建的对象赋值给该记录的对象列。最后,程序将在一个地图窗口的一个可编辑图居中显示该对象。·旅游查询该菜申的所有菜单项都是不可选的。用户可以根据自己的要求编写相应的程序以完成该项功能。.旅游统计图这个菜单的功能是将某些MapInfo表中的信息以统计图的形式显示在屏幕上,使得观察更加直观方便,当然你可以通过设置来指定统计图的格式。.帮助该菜单提供了MapInfo主要功能的在线查询,通过Intemet访问MapInfo站点,以及有关本演水程序的一些信息。2.按钮盒按钮盒是用户界面的重要组成部分。它以工具箱的形式为用户提供某些常