,PowerBuilder 程序设计基础,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,PowerBuilder,程序设计基础,李 茜 主编,谢维成 陈永强 曾传华,PowerBuilder 程序设计基础李 茜 主编,1,第四章 窗口设计,1 窗口(Window)是程序和用户进行交互的主要界面,类似于VB或Delphi的Form(窗体),在窗口上可以布置各种不同类型的控件以满足程序的要求,各控件间相互协作,完成预定功能。,2 一个窗口可以只被打开一次或者作为一个实例变量而被创建(实例化)然后打开多次。,3 任何窗口的最底层基类都是windows,可以逐级继承,对于节省代码开支,界面一致性等非常有好处。,4 数据窗口作为标准控件可以直接嵌入到窗口中使用。,第四章 窗口设计1 窗口(Window)是程序和用户进行交,2,窗口-1.创建方法,有2种方式创建一个窗口,:,1.新建:,从菜单中选择“文件/新建”,弹出新建向导,选择“对象-Windows”,系统就自动创建一个标题为 Untitled 的空窗口,没有任何脚本,但可以被打开。,2.继承:,菜单中选择“继承”,弹出可被继承的祖先清单,选择一个,系统自动从该祖先窗口继承,新窗口拥有祖先窗口的所有特性及脚本,并可以重载及覆盖这些属性或脚本。,创建并修改完成,按Ctrl+S或“文件/保存”,输入窗口名称并制定放在那个PBL中,该窗口就可以被调用了。,注意点:,基于继承的窗口,一旦祖先的属性修改,则该窗口中没有被重载或覆盖的部分即自动修改,实际上该窗口分为2部分:祖先和自己。在设计统一界面的用户窗口时,继承窗口是非常好的选择。,窗口-1.创建方法有2种方式创建一个窗口:,3,窗口-2.基本属性,窗口-2.基本属性,4,窗口-3.常用类型1,1主窗口(,Main Window,),主窗口是独立的窗口,它不依赖于其它任何窗口而独立存在,这种类型的窗口既能够覆盖其它窗口,也能够被其它窗口覆盖。主窗口可以带有菜单,能够被最大化、最小化、或改变大小。主窗口一般用作应用程序运行具体功能界面的基础。,2子窗口(,Child Window,),正如其名字所暗示的那样,子窗口从属于另一个窗口,它总是在主窗口或弹出式窗口中打开,该窗口成为子窗口的父窗口。子窗口可以在父窗口内部移动,但不能移出父窗口。移动父窗口时,子窗口随之移动,关闭父窗口时,子窗口也随之被关闭。子窗口可以有标题条,可以被最大化、最小化及改变大小,但它没有菜单,也不能被当作活动窗口。子窗口在最大化时,它充满父窗口的工作区;子窗口在最小化时,它缩小成图标显示在父窗口的底部。,3响应窗口(,Response Window,),响应窗口向用户请求信息,它总是在另一个窗口(父窗口)中打开。响应窗口被显示时,用户必须关闭了该窗口后才能操作同一个应用程序的其它窗口。响应窗口不能被最大化、最小化,但可以带有控制菜单。应用程序中经常使用的About(关于)窗口、MessageBox对话框都是响应窗口应用的具体实例。,4弹出式窗口(,Popup Window,),弹出式窗口通常由另一个窗口打开,该窗口一般情况下成为弹出式窗口的父窗口。弹出式窗口显示在父窗口前面,它既可以移出父窗口,也能够覆盖父窗口,但不能被父窗口覆盖,当父窗口最小化时,弹出式窗口随之隐藏,父窗口被关闭时,弹出式窗口也随之关闭。根据需要,也可以把弹出式窗口设计成带有菜单、能够被最大化、最小化、或可改变大小的形式。弹出式窗口用途广泛,它可以显示文字信息,也可以作成图形化的进度提示窗口,还能够用于输入用户的选择。,5,MDI,框架窗口和带微帮助的,MDI,框架窗口,MDI框架窗口及其子窗口构成了应用程序的多文档界面风格,它有两种形式:普通的MDI框架窗口和带微帮助的MDI框架窗口,两者的区别在于,后一种框架窗口在底部多了个状态栏,用于显示应用程序简短的当前信息,我们将其称做微帮助(Microhelp)。典型的MDI框架窗口由标题、菜单、工具栏、客户区、状态栏组成。,窗口-3.常用类型11主窗口(Main Window),5,窗口-3.常用类型2,主窗口,子窗口,响应窗口,带微帮助的MDI框架窗口,窗口-3.常用类型2主窗口子窗口响应窗口带微帮助的MDI,6,窗口-4.常用事件,窗口-4.常用事件,7,窗口-5.常用函数,窗口-5.常用函数,8,窗口-6.窗口控件,窗口-6.窗口控件,9,窗口-7.控件操作1,添加控件,1、通过菜单,2、通过工具栏,窗口-7.控件操作1添加控件 1、通过菜单 2、通过工,10,窗口-7.控件操作2,选择控件,1、点选法,2、框选法,提示,:在选中了一些控件后,如果需要向中间添加其他控件或从中间减少部分控件,可借助【Ctrl】键完成。,窗口-7.控件操作2选择控件 1、点选法 2、框选法提,11,窗口-7.控件操作3,复制控件,1、使用菜单Edit/Duplicate命令,2、使用Copy和Paste命令,3、使用Ctrl+T快捷方式,1、使用Edit/Delete命令,2、直接按【Del】键,删除控件,窗口-7.控件操作3复制控件 1、使用菜单Edit/D,12,窗口-7.控件操作4,布局控件,1、移动控件,2、调整大小,3、对齐控件,对齐控件位置,对齐控件间隔,对齐控件大小,窗口-7.控件操作4布局控件 1、移动控件对齐控件位置,13,窗口-7.控件操作5,设置【,Tab,】键次序,1、从“Design”菜单中选择“Tab Order”命令,或者单击窗口画笔快捷工具栏上的(Tab Order)图标,系统进入Tab编辑模式。,2、通过鼠标单击或按Tab键,将输入焦点移动到要修改的“Tab”值处。3、输入新的“Tab”值,其取值范围为0到999。,窗口-7.控件操作5设置【Tab】键次序 1、从“De,14,窗口-8.控件的公用属性,每个控件都有的属性如下:,Name:在窗口中唯一标记该控件的有效字符串,Enabled:使某控件失效或使能,失效后用户无法操作,但是可以手工触发它的事件,Visible:可视与否,Foreground Color:前景色(按钮无效),BackgroundColor:背景色,Tag:与系统无任何关系的一个公用属性,可以做任何事情,Border:边框类型,枚举值,有些控件指定了也无效是无效的。,位置:在父对象中的定位(如x,y,width,height,x1,y1,x2,y2等,但属性名称不一致),关于颜色的算法,:,长整型(long),rgb颜色系统,颜色值=rgb(red,blue,green)=green*65536+blue*256+red,如 红色(255)=rgb(255,0,0)=0*65536+0*256+255,可以从下拉工具条中直接选取常用颜色及系统颜色,窗口-8.控件的公用属性每个控件都有的属性如下:,15,窗口-9.使用按钮控件,按钮是Windows应用程序中最常用的控件之一,主要用于接收用户的操作,以完成程序指定的功能。PowerBuilder中将按钮分为“,命令按钮,”和“,图形按钮,”。两种按钮除了在外观上有所不同外,在功能上是完全一样的。设计时,用户使用哪种按钮主要取决个人习惯,或者程序整体界面风格的要求。按钮控件最常用的事件是:“Clicked”事件。,操作示例,窗口-9.使用按钮控件 按钮是,16,窗口-9.使用编辑控件,操,作,示,例,编辑控件主要用于数据的输入和编辑,也属于Windows应用程序的常用控件。PowerBuilder提供了五种编辑控件,分别是,单行编辑框,、,多行编辑框,、,超文本编辑框,、,编辑掩码,控件以及数据窗口控件。当用户的数据文本较少时一般使用单行编辑框;而数据文本相对较多时可以使用多行编辑框;当数据文本较多而且要求以各种形式显示时可以使用超文本编辑框;如果数据文本需要按特定的格式输入时可使用编辑掩码控件;如果用户数据需要以表格的形式进行输入和编辑时可以使用数据窗口控件。,窗口-9.使用编辑控件操 编辑控件主要用,17,窗口-9.使用显示输出控件,显示输出控件用于显示输出文本、统计图、图像。这类控件包括:静态文本控件、图片框控件、静态文本链接控件、图片链接控件、分组框、统计图控件、用户对象、OLE控件等。静态文本控件主要用于显示一些提示信息;图片框控件主要显示图片文件;静态文本链接控件和图片链接控件可以实现对网页的链接;分组框控件主要用于将相关的控件分组显示;统计图控件主要用于以图形方式显示数据的统计结果;用户对象控件用于在窗口上表现可视用户对象(用户对象使用用户对象画笔创建,并保存在PowerBuilder应用库中。通过用户对象与用户对象控件的结合,你可以进一步丰富应用程序界面以及应用程序功能);OLE控件主要用于在应用程序中集成其它一些支持OLE标准的控件或者应用程序。其中静态文本控件、图片框控件、链接控件和分组框是Windows应用程序的常用控件。至于统计图控件,我们更多的是使用DataWindow中统计图控件。,操作示例,窗口-9.使用显示输出控件,18,窗口-9.使用选择操作控件,选择操作控件用于让用户从多种选项中选择一项或多项。这部分控件包括:单选按钮、复选框、列表框、下拉列表框、下拉图形列表框、图形列表框、列表视图、树形视图、标签控件等。其中单选钮、复选框、列表框和下拉列表框属于Windows应用程序的基本选择操作控件,而下拉图形列表框、图形列表框、列表视图、树形视图和标签控件则属于高级控件。各种选择操作控件各有各的特色,但对于大多数需要进行选择处理的数据,这些控件基本都能互用(比如,选择性别,可以使用单选按钮,也可使用下拉列表框),编程时,用户选用那种控件主要还是取决于个人的习惯和应用程序整体的风格要求。,操作示例,窗口-9.使用选择操作控件 选,19,窗口-9.使用进程控件,操作示例,进程控件用于显示程序的执行进程和控制数据记录的但前值。这部分控件包括:水平进度条、垂直进度条、水平轨迹条、垂直轨迹条、水平滚动条和垂直滚动条等。水平进度条和垂直进度条常用于表示程序的运行过程;水平轨迹条和垂直轨迹条常用于指定数据记录当前值的位置;水平滚动条和垂直滚动条常用于移动控件以显示超过其范围的内容。当然这些控件的使用是十分灵活的,用户可以根据自己的需要去发挥他们的功能。,窗口-9.使用进程控件操作示例 进程控件,20,窗口-9.使用消息框,操作示例,直观便捷的人机互动是Windows应用程序的一大特色。在人机互动过程中,一方面,需要用户输入一些数据信息,另一方面,应用程序也需要对用户输入的内容作出相应的判断分析,并给出相应的结果或者提示信息。应用程序向用户给出的信息,一种方法是直接通过窗口中的控件(比如,静态文本框)显示,这在前面的控件使用示例中已经作了演示;另一种常用方法是通过系统函数MessageBox()弹出消息对话框进行显示。,窗口-9.使用消息框操作示例 直观便捷的人,21,