您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > PB教程第六章窗口与控件
第六章窗口与控件窗口是应用程序与用户交流的主要界面。用它可以显示系统的有关信息,响应用户的鼠标和键盘输入等等。在这一节中我们将利用PowerBuilder的应用模板功能来创建一个应用程序,利用这个程序来介绍窗口的有关概念和操作。首先我们利用系统的应用模板功能创建一个应用程序:单击FILE菜单的NEW菜单项,系统弹出SELECTNEWAPPLICATIONLIBRARY对话框,用来选择一个对象库,这里在D:\DATABASE目录下创建一个新的名为SAMPLE的对象库,然后单击“保存”按钮,在接下来的SAVEAPPLICATION对话框中给新的应用对象同样起名为SAMPLE,然后单击OK按钮确定,系统弹出对话框询问是否需要创建应用模板,这里选择“是”,接着系统就开始为我们生成一个多文档接口的应用程序,APPLICATION画板中显示的就是系统自动帮我们创建好的一些对象(图6-1)。从对象的图标可以看出这些对象都是窗口和菜单,接下来就以这里的窗口对象为例介绍窗口的有关概念和操作。图6-16.1窗口的类型6.2窗口的常用操作6.3控件6.1窗口的类型PowerBuilder提供了六种不同类型的窗口,它们的用途各不相同,下面分别说明:第一种要介绍的是MAIN类型的窗口,它的特点是可以不依赖于任何其它的窗口,可以独立地存在,一个应用程序中可以有多个MAIN窗口,你可以在需要的时候在程序中用OPEN函数打开其中的任意一个。此外在MAIN窗口中可以放置需要的各种控件。单击POWERBAR工具条上的WINDOW按钮,选中W-GENAPP-SHEET窗口后单击OK按钮确定所做的操作,然后在WINDOW画板中的窗口对象上单击鼠标右键,选中弹出的菜单的PROPERTIES菜单项,在弹出的WINDOW对话框中注意WINDOWTYPE一栏,可以发现W-GENAPP-SHEET窗口就是MAIN类型的,在其中就可以放入各种控件。第二种类型的窗口是POPUP类型,它的特点是通常都是从其它窗口的脚本中利用OPEN函数打开它,打开后这种类型的窗口自动成为含有打开脚本的窗口的子窗口。POPUP类型的窗口可以显示在父窗口的外面,但不能被父窗口覆盖,当父窗口最小化或者关闭的时候,它也相应地最小化或者关闭。第三种类型的窗口是CHILD类型,它的特点是通常都是从主窗口或者弹出式窗口的脚本中,利用OPEN函数打开它,它可以在父窗口中移动,但不能移出主窗口的工作区,而且当父窗口移动的时候,CHILD窗口也跟着移动。第四种类型的窗口是RESPONSE类型,它是一种模式窗口,也就是说,当这种类型的窗口被打开之后,输入焦点就切换到这个窗口上,用户只有在对这个窗口进行操作并关闭这个窗口之后才可以使用程序中的其它窗口。在刚才的SAMPLE应用程序中,W-GENAPP-ABOUT和W-GENAPP-TOOLBARS窗口就是RESPONSE类型的窗口。第五种类型的窗口是MDIFRAME类型,它的特点是在这种类型的窗口中一般不放入控件,而是把这种类型的窗口作为其它类型的窗口的容器,利用这种类型的窗口就可以实现多文档的界面,在容器中的每一个窗口用来显示一个文档。在我们这个程序中的W-GENAPP-FRAME窗口就是一个MDIFRAME类型的窗口。单击POWERBAR工具条上的RUN按钮运行应用程序,在运行的应用程序中单击工具条上的NEW按钮,然后选择WINDOW菜单上的TITLEVERTICAL菜单项,可以看出主窗口的工作区中显示有几个窗口,这些窗口可以用来显示不同的文档(图6-2)图6-2第六种类型的窗口是MDIFRAMEWITHMICROHELP,这种类型的窗口与上一种基本一样,唯一的区别在与这种窗口在工作区的下面带有一个状态条,利用这个状态条可以显示一些操作提示信息。事实上刚才的窗口W-GENAPP-FRAME就是这种类型的。6.2窗口的常用操作接下来要介绍的是对窗口的一些基本属性的设置和修改操作。单击POWERBAR工具条上的WINDOW按钮,在弹出的SELECTWINDOW对话框中选择NEW按钮,我们开始创建一个新的窗口并设置它的一些属性。在新窗口上单击鼠标右键,选择弹出菜单的PROPERTIES菜单项,系统弹出WINDOW对话框用来设置窗口的各种属性(图6-3)。图6-3首先看TITLE一栏,其中的内容被用作窗口的标题,系统已经设置了一个缺省的标题UNTITLED,这里把它修改为“THISISTITLE”,MENUNAME一栏用来输入窗口的菜单的名字,你可以通过单击BROWSE按钮来搜索一个已经存在的菜单对象作为这个窗口的菜单,一个窗口并不要求一定要有菜单。这里的范例中选择M-GENAPP-FRAME。接下来的TAG属性是一个字符串,这个字符串在一些需要的地方可能会被使用,比如在适当的时候把它显示在窗口的状态栏上作为提示帮助信息,这里就不输入了。接着的若干个复选框分别用来设置窗口是否可见,有效,是否有控制菜单,最大、最小化按钮,是否可改变大小等等,其中灰色的复选框表示对这种类型的窗口是不可用的。接下来的WINDOWTYPE用来选择窗口的类型,也就是刚才介绍的六种窗口中的一种。WINDOWCOLOR栏则是用来设置窗口的工作区的颜色。最后的MDICLIENTCOLOR是用来设置多文档窗口的工作区的颜色,由于现在是MAIN类型的窗口,这一栏目前不可用。接下来单击对话框中的POSITION标签,利用这个标签可以设置窗口的大小,在屏幕上的位置和初始显示状态,因为这几个选项都很容易理解,这里就不一一介绍了。单击POINTER标签,这个标签的作用是用来设置显示在窗口中的鼠标的形状,系统列出了已有的若干中鼠标形状供我们选择使用,当然你也可以创建一个新的形状的鼠标,然后通过单击BROWSE按钮把它选为窗口鼠标,ICON标签用来设置窗口的图标,也就是窗口最小化时的代表窗口的图标,在窗口的左上角也有这个图标。同样地我们可以选择一个系统的或者自己创建的图标。自己创建的图标要求是16*16的,否则会显示不出来。SCROLL标签用来用来设置窗口的滚动特性,在这里可以设定窗口是否具有滚动条,对话框上的四个编辑栏用来设置滚动条滚动的特性和幅度,也就是单击滚动条上的箭头或者其它地方的时候窗口每次滚动多大的距离。左边的两个编辑栏用来设置水平滚动条的特性,UNITSPERLINE的值为0表示单击滚动条上的箭头时滚动窗口宽度的百分之一。而COLUMNSPERPAGE值为0表示单击滚动条上的空白区域时每次滚动10列。一般情况下我们不对窗口的这些缺省值进行修改。TOOLBAR标签用来设置的工具条特性,这里可以设置工具条是否可见,工具条在窗口中的位置,要注意的是对于浮动方式的工具条,需要定义它的浮动特性,只有对有工具条的窗口才需要定义工具条的特性(图6-4)。图6-4定义好了窗口的基本属性,当然很希望能马上了解窗口运行时的样子,单击PAINTERBAR工具条上的PREVIEW按钮,就可以预览窗口的样子(图6-5),可以看出窗口的标题就是我们刚才定义的标题,窗口的菜单也是刚才选中的菜单,窗口的其它特性也是我们刚才所设置的。关闭预览窗口,单击FILE菜单的SAVE菜单项,系统要求我们保存刚才创建的窗口,在SAVEWINDOW对话框中给窗口起名为MYWINDOW,然后单击OK按钮。单击POWERBAR工具条上的RUNWINDOW按钮,系统弹出SELECTWINDOW对话框,在这个对话框中列出了当前所有的窗口对象,选择我们刚才创建的MYWINDOW窗口对象,然后单击START按钮,就可以实际运行这个窗口,从而了解窗口的动态特性。图6-56.3控件空白的窗口是没什么用的,用户在使用应用程序的时候打交道最多的就是窗口中的控件,接下来就介绍如何创建和使用控件。单击POWERBAR工具条上的WINDOW按钮,在SELECTWINDOW对话框中选择系统自动创建的W-GENAPP-ABOUT窗口,然后单击OK按钮,选中的窗口就显示在窗口画板中(图6-6),这个窗口中有两个控件,上面的控件是一个静态文本框,这种控件的作用是在窗口中显示一些说明和提示信息。控件上的文本可以利用脚本实现在程序运行时根据需要动态变化。下面的控件是一个命令按钮,鼠标右击这个命令按钮,在弹出的菜单中选中SCRIPT菜单项,在弹出的窗口中可以看到系统已经为命令按钮的CLICK事件编写了脚本,脚本的作用是关闭命令按钮所在的窗口。在大多数情况下我们需要处理的都是命令按钮的CLICK事件。图6-6单击POWERBAR工具条上的WINDOW按钮,这次选择打开W-GENAPP-TOOLBARS窗口,可以看出这个窗口中也有两个命令按钮控件,窗口的左边是一个大的方框,称为GROUPBOX控件,它是一个容器,放入容器中的控件就成为一组相关的控件,比如这里放在组合框控件中的是五个单选按钮控件,这五个单选按钮放在一个组合框中就表示它们只能选中其中的一个。组合框一般就是用来放入一组相关的控件。上面通过对系统利用应用模板创建的窗口中的控件的介绍,说明了静态文本框,命令按钮,组合框,单选按钮四个控件,接下来我们通过在刚创建的MYWINDOW窗口中放入控件来说明其它控件的概念和用途。单击POWERBAR工具条上的WINDOW按钮,在打开的对话框中选择MYWINDOW窗口,然后单击OK打开它。注意PAINTERBAR工具条上的工具条画板按钮,它是一个下拉按钮,单击按钮上的下拉箭头,屏幕上弹出的就是所有可用控件(图6-7),这里将只介绍常用的控件。图6-7注意弹出方框中的PICTUREBUTTON控件,它与命令按钮在程序中的功能类似,唯一的区别是在这个控件上可以设置图片,我们选中这个控件,然后单击窗口中的某个地方,这个控件就放在了窗口中,鼠标右键单击这个控件,选中弹出菜单的PROPERTIES菜单项,弹出的对话框中很重要的两项ENABLEDFILENAME和DISABLEDFILENAME就是用来设置PICTUREBUTTON控件在有效和无效时的图片,这里不妨单击BROWSEENABLED按钮为ENABLEDFILENAME一栏选择一个图片(读者可自行选择一张后缀为.BMP的图片文件),选好后,点击TEXT框,将里面的NONE文字删除,然后单击OK按钮,可以发现选中的图片就显示在了控件上。再看弹出控件框中的CHECKBOX控件,这个控件的作用是用来表示开关状态或者三种状态中的一种,在窗口中放置一个CHECKBOX控件,然后用和前面类似的方法修改控件的属性,选中THREESTATE复选框,然后单击OK按钮,单击PAINTERBAR工具条上的SAVE按钮保存修改,然后选择MYWINDOW窗口运行它,单击窗口上的复选框,可以发现它有三种状态(黑色选中,灰色选中,未选中),我们可以利用这三种状态来设置和表示应用程序中的某个变量或者对象的当前状态。接下来介绍PICTURE控件,这个控件一般用来放置图片,它也有单击事件,由于这个控件在单击时从外观上没有变化,所以处理它的单击事件要特别小心。接着介绍控件框中连着的四个控件LINE,OVALRECTANGLE,ROUNDRECTANGLE,这几个控件的作用是在窗口中画一些图形,以增加窗口的生动性,比如在窗口中放置OVAL控件,窗口中就显示一个椭圆,拖动图形的4个边角点可以对图形进行变形。这里还可以修改OVAL控件的属性来设置椭圆的边线的颜色和风格以及填充的颜色和风格等,由于比较简单,就不详细介绍了。控件框中有两个功能类似的控件SINGLELINEEDIT和MULTILINEEDIT,前一个是单行的文本输入框,后一个是多行输入框。这两个控件是应用程序接受用户键盘输入的主要途径。这里只想说明一点,对于单行文本框,有一个属性是PASSWORD,选中这个属性,然后保存并运行窗口,可以发现在文本框中输入的文本都被“*”所屏蔽,这样特别适合输入口令。对于EDITMASK控件,可以认为它是一个智能的文本输入框,只能输入设定格式的数据,这一点类似于我们在第一章中定义数据库中的
本文标题:PB教程第六章窗口与控件
链接地址:https://www.777doc.com/doc-2885387 .html