PowerBuider数据库开发 第2版 教学课件 ppt 作者 陈桂友 第7章 窗口

上传人:E**** 文档编号:89181055 上传时间:2019-05-20 格式:PPT 页数:18 大小:225.51KB
返回 下载 相关 举报
PowerBuider数据库开发 第2版 教学课件 ppt 作者 陈桂友 第7章 窗口_第1页
第1页 / 共18页
PowerBuider数据库开发 第2版 教学课件 ppt 作者 陈桂友 第7章 窗口_第2页
第2页 / 共18页
PowerBuider数据库开发 第2版 教学课件 ppt 作者 陈桂友 第7章 窗口_第3页
第3页 / 共18页
PowerBuider数据库开发 第2版 教学课件 ppt 作者 陈桂友 第7章 窗口_第4页
第4页 / 共18页
PowerBuider数据库开发 第2版 教学课件 ppt 作者 陈桂友 第7章 窗口_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《PowerBuider数据库开发 第2版 教学课件 ppt 作者 陈桂友 第7章 窗口》由会员分享,可在线阅读,更多相关《PowerBuider数据库开发 第2版 教学课件 ppt 作者 陈桂友 第7章 窗口(18页珍藏版)》请在金锄头文库上搜索。

1、1/18,第七章 窗口,7.1 创建窗口,7.2 窗口的类型,7.3 设置窗口属性,7.4 窗口的事件,7.5 窗口的函数,7.6 多文档界面(MDI),2/18,7.1 创建窗口,图7-1 新建对话框,窗口的创建方式有两种:普通方式和继承方式。普通方式就是不以已存在的窗口为祖先,而直接以系统提供的方式创建;继承方式是以一个已经存在的窗口为祖先窗口,在它的基础上生成新窗口。,1、普通方式创建,(1)在工具条上单击New图标,弹出“New”对话框。 (2)在弹出的对话框中选择“PB Object”标签页,如图7-1所示。,3/18,(3)单击选中Window图标,单击“OK”按钮,打开窗口画板,

2、如图7-2所示。,图7-2 窗口画板,(4)在窗口上放置所需的控件,并进行了相应的编程后,单击工具栏上的保存图标,保存新创建的窗口(在保存窗口以前,可以先预览一下,检查窗口是否满足要求)。 注意:如果新建的窗口中未作任何改变,例如:在窗口中放置控件或修改窗口属性,那么工具栏中的保存图标是不可用的,该窗口无法保存。,4/18,对象列表框,图7-7 继承方式创建窗口对话框,2、继承方式创建,(1)单击工具条上的Inhert图标 ,打开“Inherit from Object”对话框,如图7-7所示。在该对话框的“Target”下拉框中选择在哪个目标中打开对象,“Libraries” 列表框中选择当

3、前路径中的库文件(即后缀名为.PBL的文件),在对象类型下拉框(Objects of Type)中选择对象类型Windows,在中间的对象列表框中选择从哪个对象继承。,5/18,(2)单击“OK”按钮,在打开的窗口画板中出现继承的新对象。用户可以从窗口画板的标题栏上了解继承关系,如图7-8所示。,图7-8 继承方式创建窗口的继承关系,(3)单击保存图标保存窗口。,对继承方式创建的对象也有一些限制,如: 1)在没有删除后代对象的情况下,不能删除祖先对象。 2)不能删除继承来的控件,但可将其Enabled和Visible属性值设置为False,使其不可用和不可视。,如果应用程序规模不是很大,在大多

4、数情况下,可以不使用继承方式创建,以普通方式创建窗口。这样,用户可以完全根据需要进行修改,而不用顾忌窗口之间的继承关系。,6/18,7.2 窗口的类型,图7-9 窗口类型下拉列表,PowerBuilder提供了六种窗口类型,它们的表现风格和使用环境各不相同。在窗口对象的属性视图区中的“General”标签下,可以看到“WindowType”下拉列表中显示的六种窗口类型,如图7-9所示。 1主窗口(main!) 主窗口是独立于其他窗口的单独窗口,能覆盖其他的窗口,同时也能被其他的窗口所覆盖。 2弹出式窗口(popup!) 弹出式窗口通常由另一窗口打开(该窗口就成为弹出式窗口的父窗口)。弹出式窗口

5、常用来显示不需用户做出响应的信息。 3子窗口(child!) 子窗口从属于另一个窗口,总是在主窗口或弹出式窗口中打开(该窗口成为子窗口的父窗口)。子窗口没有菜单,也不能被当作活动窗口。 子窗口可被用作窗口插件和ActiveX控制,这在开发互联网应用时非常有用。 4响应窗口(response!) 响应窗口用于向用户显示信息,通常从另一个窗口中打开。应用程序中常用的MessageBox对话框就是响应窗口应用的具体实例。 5多文档界面窗口(mdi!)和带微帮助的多文档界面窗口(mdihelp!) MDI窗口是一个可在其中显示其他窗口的主窗口。典型的MDI框架窗口由标题、菜单、工具栏、客户区、状态栏组

6、成。 PowerBuilder开发环境本身就是带微帮助的MDI框架窗口。,7/18,7.3 设置窗口属性,表7-1 窗口属性设置可选页列表,1、在窗口画板中设置窗口属性,在窗口画板中设置窗口属性的步骤如下: (1)新建或打开已经存在的窗口,在布局视图中的窗口空白处单击鼠标右键,或者在控件列表(Control List)视图中,在窗口名上单击鼠标右键,在弹出窗口中选择“Properties”菜单项,则在窗口画板中显示窗口的属性视图。 (2)在属性视图中,选择要设置的标签页。,8/18,2、在代码中设置窗口属性,窗口的属性除了在属性对话框中设置外,某些属性还可以用代码设置,这样可以实现动态设置窗口

7、属性。属性对话框中使用的名称往往不是真正的属性名,但两者很相似,通过对比可以找出两者的关系。编写代码中需要使用属性时,必须使用真正的属性名,而不是属性对话框中的名称。 例如,在MDI框架窗口中,当工具栏处于浮动状态时,可使用下面的语句来设置工具栏的宽度: This.ToolbarWidth = 500 利用下面的代码,使得窗口w_mine打开时居中: w_mine.Center = TRUE,9/18,7.4 窗口的事件,作为应用程序的对象之一,窗口不仅有属性,而且有丰富的预定义事件。对窗口的编程过程,实质上就是对这些事件编写事件处理程序的过程。窗口的事件有很多,但并不需要对每个事件都编写事件

8、处理程序,而只要对需要响应、需要处理的事件编写事件处理程序。不同事件发生的时机不同,有些事件相互间有先后次序之分,充分了解事件的发生时机,才能得心应手地开发PowerBuilder的应用程序。,1、Open,事件参数:无 发生时机:在窗口打开之后、显示之前发生,此时系统已经构造好了窗口的所有属性以及其上的所有控件。下述函数触发窗口的“Open”事件:Open、OpenWithParm、OpenSheet、OpenSheetWithParm。,2、Close,事件参数:无 发生时机:窗口被关闭时发生。触发该事件后,没有办法能够阻止窗口关闭操作。,10/18,3、CloseQuery,事件参数:无

9、 发生时机:在开始关闭窗口时,发生该事件,该事件的返回值为0或1的值。执行该事件的处理程序后,系统检查返回值,如果返回值为1,则窗口不被关闭,通常情况下紧随其后发生的“Close”事件不被产生;如果返回值为0,则窗口被关闭。利用该事件的这种特性,程序能够根据当前状态提醒用户保存数据、询问用户是否真要关闭窗口。窗口被关闭时,同时关闭任何与之相关的子窗口和弹出窗口。,4、Show,事件参数:Boolean show、Long status 发生时机:窗口显示之前发生。窗口的Show函数将触发该事件。参数show的值总为TRUE;status指明窗口的状态。,11/18,5、Hide,事件参数:无

10、发生时机:在窗口被隐藏前的瞬间发生。,6、Resize,事件参数:ULong sizetype、Integer newwidth、Integer newheight 发生时机:当窗口大小发生变化时产生,窗口被打开时也产生此事件。参数sizetype指明改变窗口大小的类型(最小化、最大化、恢复等);newwidth指明窗口的新宽度;newheight指明窗口的新高度。,7、Timer,事件参数:无 发生时机:调用Timer函数启动定时器,在设定时间到后发生。,12/18,7.5 窗口的函数,在应用程序中使用窗口的第一步工作是通过Open()函数打开窗口,打开之后才能对窗口进行各种操作。Open(

11、)函数有两种语法格式,第一种语法格式为: Open(windowvar,parent) 其中,参数windowvar是要打开的窗口名称(即保存窗口时所起的名字);参数parent指定父窗口的名称,被打开窗口作为子窗口出现。Open()函数返回整型值,1表示打开窗口成功,-1表示打开失败。 Open()函数的第二种语法格式为: Open(windowvar,windowtype,parent) 其中参数windowvar、parent的意义与第一种格式相同。参数windowtype是个字符串,是希望打开的窗口的类名,需要注意的是,windowtype必须与参数windowvar的类继承链中某个类

12、相同。,1、系统级操作窗口的函数,(1)打开窗口函数(Open),13/18,有些窗口可能要反复使用,每次使用时都向窗口提供不同的参数,此时,利用带参数打开窗口函数OpenWithParm()既方便又简单。第一种语法格式为: OpenWithParm(windowvar,parameter,parent) 其中,windowvar是要打开的窗口名称;parameter是希望传递的参数,该参数将被放置到系统缺省的全局对象Message中 parent指定父窗口的名称,被打开窗口作为子窗口出现。OpenWithParm()函数返回整型值,1表示打开窗口成功,-1表示打开失败。 OpenWithPa

13、rm()函数的第二种语法格式为: OpenWithParm(windowvar,parameter,windowtype,parent) 各参数的意义与Open函数的第二种格式相同。由于不常用,在此不作详细叙述。 由于打开窗口时,可向窗口传递用户定义结构变量类型,因此需要同时向窗口传递多个参数时,可以首先定义一个覆盖各参数的结构,为结构中的各个变量赋值后,将整个结构作为一个变量用OpenWithParm()函数传递,从而达到传递多个参数的目的。,(2)带参数打开窗口函数(OpenWithParm),14/18,打开的窗口不再使用时,应该及时将其关闭,以释放系统资源。关闭窗口的工作可由函数Clo

14、se()实现,其语法格式为: Close(windowname) 其中,windowname是要关闭窗口的名称。该函数返回整型值,1表示关闭窗口成功,否则返回值为-1。针对前面示例中打开的窗口w_main,需要关闭时,若已经在窗口上放置一个按钮close,则可在该按钮的“Clicked”事件处理程序中写上以下语句: Close (w_main) 或 Close(Parent) 注意:后一种方式中的Parent参数说明要关闭的窗口是该按钮的父对象,这种方式与具体的窗口名称无关,具有通用性,因此,在开发过程中,应尽量利用这种方式。,(3)关闭窗口函数(Close),15/18,除了系统级的函数外,

15、PowerBuilder为窗口本身也提供了许多对象级的函数,如show、hide、move等。,(4)带参数关闭窗口(CloseWithReturn),在响应窗口(Response Window)中,使用CloseWithReturn()函数在关闭窗口的同时向打开该窗口的程序返回一个值。与OpenWithParm()函数相似,CloseWithReturn()函数同样借用全局对象Message保存返回的值。CloseWithReturn()函数的语法格式为: CloseWithReturn(windowname, returnvalue) 其中,windowname是要关闭的窗口;return

16、value是返回值,该值保存在消息对象Message的属性中。,2、窗口对象级函数,16/18,7.6 多文档界面(MDI),多文档界面的应用程序有这样的特点:有一个最先显示的主窗口MDI框架窗口,这个主窗口是其他窗口的容器,其他窗口在主窗口中打开,在主窗口中打开的其他窗口称为工作表(Sheet,有时也称为表单或MDI子窗口)。,多文档界面(Multiple Document Interface,简称MDI)是一种十分流行的界面风格,包括PowerBuilder、Microsoft Word在内的大多数商业软件均采用MDI风格。一般来说,如果要建立一个能在其中打开多个窗口、并且易于在打开的多个窗口之间灵活切换的应用程序时,最好采用这种界面风格,原因在于MDI简化了许多用户界面元素,它为用户提供了一种熟悉和灵活的操作环境。,1、多文档界面的构成及有关概念,17/18,2、创建多文档界面,在PowerBuilder中,多文档界面(MDI)是一种窗口类型。创建一个完整的MDI界面通常要完成下述工作: 建立MDI框架窗口 创建工作表 建立MDI应

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号