资源描述:
《第9章 MAPBASIC编程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第9章MapBasic编程9.1制作菜单栏9.1.1制作全新的菜单栏9.1.2修改已有菜单栏9.2菜单制作9.2.1全新菜单的制作9.2.2更改原有菜单9.3对话框制作9.3.1标准对话框9.3.2自定义对话框制作9.3.3控件的位置和大小9.3.4控件类型9.3.5控件的初值和终值9.4窗口9.4.1窗口的大小和位置9.4.2地图窗口9.4.3浏览窗口9.4.4统计窗口9.4.5布局窗口9.4.6信息窗口9.4.7消息窗口9.5工具条9.5.1工具条的类型9.5.2工具条的操作9.5.3创建触发式型按钮9.5.4创建工具按钮9.5.5向“主”工具条添加一个按钮9
2、.5.6选择按钮图表9.5.7运行MapBasic应用程序9.6MapBasic过程9.6.1MapBasic主过程9.6.2MapBasic子过程9.7MapBasic变量9.8MapBasic的表达式9.8.1MapBasic的函数9.8.2MapBasic的运算符9.9分支、循环和其他流程控制9.9.1分支语句9.9.2循环语句9.9.3其他流程控制语句9.10MapBasic的表操作9.11习题99.1制作菜单栏菜单栏是MapInfo工作区域顶部的水平条,初始状态下的MapInfo的菜单栏包括“File”,“Edit”,“Objects”,“Query”等
3、。9.1.1制作全新的菜单栏语法:CreateMenuBarAs{菜单名或ID菜单号}[,{菜单名或ID菜单号}...]【例9-1】制作一个全新菜单栏,包含“File”,“Edit”,“Query”,“Map”,“Browse”菜单。代码如下:CreateMenuBarAs"File","Edit","Query","Map","Browse"图9-1全新菜单栏9.1.2修改已有菜单栏1.删除菜单语法:AlterMenuBarRemove{菜单名或ID菜单号}[,{菜单名或ID菜单号}...]【例9-2】在原有菜单栏的基础上,删除“Windows”,“Help”菜
4、单。代码如下:AlterMenuBarRemoveID6,ID7图9-2删除菜单2.增加菜单语法:AlterMenuBarAdd{菜单名或ID菜单号}[,{菜单名或ID菜单号}...]【例9-3】在原有菜单栏的基础上,增加“DataEntry”菜单。代码如下:AlterMenuBarAdd"DataEntry"图9-3增加菜单图9-4在菜单栏中间增加菜单3.恢复菜单语法:CreateMenuBarAsDefault若放弃对菜单栏的修改,恢复原有菜单样式,可以运行以下代码:CreateMenuBarAsDefault9.2菜单制作9.2.1全新菜单的制作语法:Cre
5、ateMenu新菜单名[ID菜单号]As菜单项1[ID菜单号]{Callinghandler
6、As菜单名}[,菜单项2...]【例9-4】制作全新菜单“DataEntry”。代码如下:CreateMenu"DataEntry"As'制作“DataEntry”菜单"Add",'菜单有三个菜单项"Edit","Delete"AlterMenuBarAdd"DataEntry"'将菜单添加到菜单栏中图9-5制作全新菜单9.2.2更改原有菜单语法:CreateMenu新菜单名[ID菜单号]As菜单项1[ID菜单项]{Callinghandler
7、As菜单名}[,菜单项2.
8、..]【例9-5】更改原有菜单“File”的内容。代码如下:CreateMenu"&File"As"&New","&Open","&Close","&Save","&Print","&Exit"图9-6更改原有菜单9.3对话框制作9.3.1标准对话框1.消息对话框语法:Note消息图9-7消息对话框【例9-6】例如显示一个“查询成功!”的消息对话框。代码如下:Note"查询成功!"2.询问对话框语法:Ask(提示信息,确定文本,取消文本)【例9-7】下面的例子用生成一个简单询问对话框。DimmoreAsLogicalmore=Ask("Doyouwanttocon
9、tinue?","OK","Stop")运行结果如图9-8所示。图9-8询问对话框3.选择文件对话框语法:FileOpenDlg(路径,文件名,文件类型,标题)【例9-8】下面的程序用FileOpenDlg()函数显示提示用户打开一个文件的对话框。Dims_filenameAsStrings_filename=FileOpenDlg("","","TAB","OpenTable")运行结果如图9-9所示。图9-9选择文件对话框9.3.2自定义对话框制作【例9-9】下面是生成一个自定义对话框的代码:Dialogtitle"按省份名"ControlStatictext
10、title