数据库原理及应用 ——“十一五,国家级规划教材 1
第 11章 窗口对象
本章重点内容
窗口的基本组成和类型
窗口中各控件的使用方法
常用窗口的设计技巧数据库原理及应用 ——“十一五,国家级规划教材 2
11.1 窗口
窗口是 Windows应用的可视图形操作界面,是 PB中主要的组成部分。
用户通过窗口向应用程序提供必要的数据,直接操作应用程序;应用程序通过窗口显示运行状态和执行结果。
数据库原理及应用 ——“十一五,国家级规划教材 3
11.1.1 窗口的组成及类型
PB窗口由以下三部分组成:
1、属性,Pro定义窗口的外观和行为。
2、事件:由用户动作触发而进行的动作。
3、控件:放在窗口上,用于请求、输入或显示信息。
数据库原理及应用 ——“十一五,国家级规划教材 4
11.1.1 窗口的组成及类型
PB提供下列四种类型的窗口:
1、主窗口 (Main):任何时候都可以显示在任何地方,可以有菜单,能被改变大小。
2、子窗口 (Child):从属于父窗口,不能移到父窗口之外,没有菜单,不能被当作活动窗口,可改变大小;父窗口可以是主窗口或弹出式窗口。
数据库原理及应用 ——“十一五,国家级规划教材 5
3、弹出式窗口 (Popup):一般由其父窗口打开,
显示在父窗口前面,既能移出父窗口,也能覆盖父窗口,当父窗口最小化时,它也被最小化,
可以有菜单和标题栏。
4、响应窗口 (Response),一般用于显示信息,
由其父窗口打开,打开后,必须关闭该窗口才能对应用中的其他窗口进行操作;不能被最大化和最小化。
11.1.1 窗口的组成及类型数据库原理及应用 ——“十一五,国家级规划教材 6
例如,Messagebox对话框就是响应窗口的实例。它打开一个系统窗口。
语法为:
MessageBox(title,text{,icon,button{,default}}})
其中,title:窗口的标题;
text:窗口中的显示信息;
11.1.1 窗口的组成及类型数据库原理及应用 ——“十一五,国家级规划教材 7
5、框架窗口及带微帮助的框架窗口:
( MDI Frame and MDI Frame with
Microhelp)
MDI框架窗口及其子窗口构成了应用程序的多文档界面风格。在一个 MDI框架窗口中可以打开多个文档窗口( MDI
子窗口)并在这些窗口中切换。
11.1.1 窗口的组成及类型数据库原理及应用 ——“十一五,国家级规划教材 8
框架窗口及带微帮助的框架窗口的区别是后一个 MDI窗口在窗口底部多了一个状态栏,用于显示应用程序的当前简短信息。
典型的 MDI框架窗口由标题栏、菜单栏、工具栏、工作区和状态栏组成。
PB的开发环境使用的就是带微帮助的
MDI框架窗口
11.1.1 窗口的组成及类型数据库原理及应用 ——“十一五,国家级规划教材 9
11.1.2 窗口的创建与修改创建窗口的步骤
( 1)单击主窗口工具栏中的 【 New】 按钮,显示 【 New】 对话框。
PB O bj ect 选项
W i ndo w s 对象数据库原理及应用 ——“十一五,国家级规划教材 10
11.1.2 窗口的创建与修改
( 2)选择 【 PB Object】 标签页。
( 3)双击 【 Window】 图标,打开窗口画板,设计窗口对象。
( 4)保存新建窗口。单击工具栏中的
【 Save】 按钮,显示 【 Save Window】 对话框。见图 11-2
数据库原理及应用 ——“十一五,国家级规划教材 11
11.1.2 窗口的创建与修改
( 5)在
【 Windows】 编辑框中键入窗口对象名,在
【 Comment】
(注释)编辑框中键入简要的说明性文字。
( 6)单击 【 OK】
按钮,窗口创建完成。
【 Sav e W i ndo w 】对话框输入窗口名称加入窗口注释数据库原理及应用 ——“十一五,国家级规划教材 12
11.1.3 窗口的属性
1,【 General】 标签页数据库原理及应用 ——“十一五,国家级规划教材 13
11.1.3 窗口的属性
1,【 General】 选项卡
Title:窗口标题。用户可在其下面的文本框输入要显示的窗口标题。
Tag:窗口一个注释。
MenuName:菜单名称。在其中键入与该窗口相连的菜单的名称。或者单击右边的省略号按钮,在应用程序库中选择适当的菜单对象。
Visible:窗口是否可见,缺省值为可见。
Enable,窗口是否可以被激活,缺省值为选择。
TitleBar:窗口标题栏,缺省为选择,只有子窗口、弹出式窗口及响应式窗口支持该选项。
数据库原理及应用 ——“十一五,国家级规划教材 14
11.1.3 窗口的属性
1,【 General】 选项卡
ControlMenu:控制菜单。缺省为选择,表示窗口有控制菜单。
MaxBox,MinBox:最大化按钮、最小化按钮。是否在控制菜单中设置最大化、最小化按钮。
ClientEdge:是否显示用户工作区边框。
PletteWindow:只用于弹出式窗口。设置是否显示标题栏的图标以及最大和最小化按钮。
ContexHelp:该属性只用于弹出式窗口。用于设置是否显示上下文帮助信息。
RightToLeft:从右向左显示。用户不要选择该项,否则将造成屏幕混乱
Resizable:如果选择该项,窗口的标题栏中将有一个可以使窗口在最大化和正常化之间进行切换的按钮,缺省值为选择。
数据库原理及应用 ——“十一五,国家级规划教材 15
11.1.3 窗口的属性
1,【 General】 选项卡
Boder:窗口是否有边框。只有子窗口和弹出式窗口支持该选项。缺省值为有。
WindowsType:窗口类型。
WindowsState:窗口打开时状态,可选值为
normal!,maximized!和 minimized!。
BackColor:窗口的背景颜色。
MdiClientColor:多文档窗口用户区的颜色。
Icon:窗口标题栏标题数据库原理及应用 ——“十一五,国家级规划教材 16
11.1.3 窗口的属性
2,【 Scroll】 选项卡
【 Scroll】 标签页用于设置水平滚动条和垂直滚动条。其中:
HscrollBar,窗口的水平滚动条。
VscrollBar,窗口的垂直滚动条。
UnitsPerColumn,单击垂直滚动条移动的 PB单位数。缺省值为 0,表示每次移动窗口的 1/100。
ColumnsPerPage,每页显示的列数,其缺省值为 0,表示每页显示 10列。
LinesPerPage,每页显示的行数,其缺省值为 0,表示每页显示 10行 。
数据库原理及应用 ——“十一五,国家级规划教材 17
11.1.3 窗口的属性
3,【 Toolbar】 标签页
【 Toolbar】 标签页内容如图 11-4所示,【 Toolbar】 标签页用于设置 MDI类型的窗口显示在屏幕上的初始位置。其中:
ToolbarVisible,工具栏是否可视
ToolbarAlignment,窗口显示在屏幕上的初始位置。
ToolbarX,ToolbarY:设置工具栏为浮动方式时的 X、
Y的屏幕坐标值。
ToolbarWidth,ToolbarHeight,设置工具栏为浮动方式时的宽度和高度数据库原理及应用 ——“十一五,国家级规划教材 18
11.1.3 窗口的属性数据库原理及应用 ——“十一五,国家级规划教材 19
11.1.3 窗口的属性
4,【 Other】 标签页
【 Other】 标签页内容如图 11-5所示,用于设置窗口对象显示在屏幕上的位置及宽度和高度。
其中:
X,Y:窗口左上角在屏幕上的坐标值。
Width,Height:窗口的宽度和高度。
Pointer,鼠标在窗口中移动时指针的样式。用户可以单击该下拉列表框,从中选择自己喜欢的样式。
数据库原理及应用 ——“十一五,国家级规划教材 20
11.1.3 窗口的属性数据库原理及应用 ——“十一五,国家级规划教材 21
11.1.4 窗口的事件
窗口事件是用于获取和处理影响窗口的动作,窗口对象有多个事件。见图 11-6
所示。
窗口 Ope n 事件脚本窗口事件列表数据库原理及应用 ——“十一五,国家级规划教材 22
11.1.4 窗口的事件
1,Active事件
在窗口成为活动窗口之前触发。
2,Clicked,DoubleClicked事件
单击、双击窗口中的非有效控件部分时,
触发该事件。这两个事件都有三个参数:
数据库原理及应用 ——“十一五,国家级规划教材 23
11.1.4 窗口的事件
( 1) flags
表示用户按了鼠标的哪一个键,
以及按键时是否同时按下 shift、
ctrl键。具体的取值及其对应的意义如表 11-1所示。
最后取得的参数值为上述表中的参数值的累加。如在按下鼠标左肩的同时按住键盘上的
ctrl键,则 flags的值为 1+ 8 =
9,通过改参数可以捕捉用户的按键情况。
参数值 意义
1 按下鼠标左键
2 按下鼠标右键
4 按下键盘的 shift键
8 按下键盘的 ctrl键
16 按下鼠标中键数据库原理及应用 ——“十一五,国家级规划教材 24
11.1.4 窗口的事件
( 2) xpos
表示单击鼠标时鼠标指针距离窗口 左 边缘的距离,以象素为单位。
( 3) ypos
表示单击鼠标时鼠标指针距离窗口 上 边缘的距离,以象素为单位。
数据库原理及应用 ——“十一五,国家级规划教材 25
11.1.4 窗口的事件
3,Close事件
在关闭窗口之前触发。
4,CloseQuery事件
在 Close事件发生之前发生。
5,Open事件
由 Open,OpenWithParm以及 OpenSheetWithParm等函数打开一个窗口时触发。通常是在 Open事件中作一些初始化工作。下面是一个窗口的 Open事件的脚本程序。
//将数据窗口控件和事务对象建立联系
dw_1.settransobject (SQLCA)
dw_1.retrieve()
//单行编辑器获得焦点
sle_1.setfocus()
数据库原理及应用 ——“十一五,国家级规划教材 26
11.1.4 窗口的事件
6,Resize事件
打开窗口或者改变窗口的大小时触发该事件。
7,Timer事件
每隔一定的时间就触发一次该事件,在 Time函数中设置时间值。下面是 Timer事件中一段脚本。这两行语句就可以实现在窗口之上显示一个电子钟。
以下是 Timer事件中的脚本程序。
//在静态文本 st_time中显示时间
st_time.Text = String(Now(),"hh:mm:ss")
以下是 Open事件中的脚本程序。
//每隔 5秒钟触发 Timer事件一次
Timer(1)
数据库原理及应用 ——“十一五,国家级规划教材 27
11.1.4 窗口的事件
8,MouseMove,MouseDown,MouseUp
事件
当在窗口区域内移动鼠标时,触发
MouseMove事件。
当在窗口区域内没有控件的地方单击鼠标左键时,触发 MouseDown事件;释放鼠标左键时,触发 MouseUp事件。他们的参数返回值与 Clicked事件相同。
数据库原理及应用 ——“十一五,国家级规划教材 28
11.1.5 窗口对象的函数
作用于窗口对象的函数有多个。其中:
1,Open()
打开函数中指定名字的窗口。例如:
//打开主窗口
open(w_main)
//打开口令校验窗口
open(w_pass)
2,OpenSheet()
在 MDI窗口中打开一个工作表窗口。例如:
//在 w_main窗口框架中打开原始大小的初始化窗口 w_ini。
OpenSheet(w_ini,w_main,4,Original!)
//设置 w_ini窗口的控件和属性
w_ini.cb_finish.visible = false
w_ini.title =,发票号码初始化输入窗口 "
数据库原理及应用 ——“十一五,国家级规划教材 29
11.1.5 窗口对象的函数
3,OpenWithParm()
打开一个窗口,并传递一个参数值到该窗口。
4,OpenSheetWithParm()
打开一个 MDI方式的工作表窗口,并传递一个参数值。
5,ClassName()
返回窗口名称。例如:
st_name.text = classname( )
6,Close()
关闭一个窗口对象,并放弃所占有的资源。
数据库原理及应用 ——“十一五,国家级规划教材 30
11.1.5 窗口对象的函数
7,ParwentWindow()
返回指定窗口的父窗口。
8,Resize()
改变窗口对象或控件的大小。
9,Show()
使得窗口可视。例如,w_ini.show()
10,Hide()
隐藏窗口。例如,w_ini.hide()
11,SetMicroHelp()
仅可用于 MDI Frame窗口,用于设置 MicroHelp信息,例如:
W_main.SetMicroHelp("删除选定文本 ")
数据库原理及应用 ——“十一五,国家级规划教材 31
11.2 主窗口的设计
11.2.1 主窗口的设计方法
主窗口是一个系统运行的主要框架,是用户和系统进行交互操作的界面,主窗口内需要包含的功能模块很多,这些功能模块大多以主菜单的形式挂接在主窗口下。主窗口设计的目标是:按照操 作系统下软件的一般界面风格以及用户的操作习惯进行设计。
主窗口设计一般按照下面步骤进行:
1.确定主窗口的整体显示风格,由用户、软件设计人员和美工人员共同完成。
2.确定主窗口应具备的功能,在充分和用户沟通的基础之上,确定菜单的构成,系统设计的全局变量的定义,窗口打开时需要处 理的数据库问题,以及各种出发事件等等。
3.把主窗口和设计好的主菜单相关联。
数据库原理及应用 ——“十一五,国家级规划教材 32
11.2 主窗口的设计
11.2.2 主窗口的设计实例
本系统所设计的主窗口是按照 mdihelp!模式设计的,具体的属性设置参见图 11-3。
在本系统中,涉及定义的几个全局变量见图 11-7。
数据库原理及应用 ——“十一五,国家级规划教材 33
11.3 登录窗口的设计
登录窗口一般需要为用户提供一个身份验证的界面,主要包括用户填写 ID和密码的单行编辑器,有的为了美观加入了一个 Picture控件,调用图片进行美化设计。本系统采用的登录窗口设计如图 11-
8所示。
数据库原理及应用 ——“十一五,国家级规划教材 34
11.3 登录窗口的设计
Da taW in d o w 数据窗口控件,
选择操作人帐号
S in g leL in e Ed it 控件
sle _ p a s,
输入密码数据库原理及应用 ——“十一五,国家级规划教材 35
11.3 登录窗口的设计
该窗口的各种属性设置见表 11-2。
对象或控件名称 属性 设置值窗口 w_logo Title 登录窗口窗口 w_logo ControlMenu √
窗口 w_logo WindowsType response!
Picture控件 p_1 PictureName D:\fpgl\网络科技 1.bmp
StaticText控件 st_id Text 账号:
StaticText控件 st_pas Text 密码:
DataWindow控件 dw_id DataObject d_kpr
SingleLineEdit控件 sle_pas Password √
CommandButton控件 cb_enter text 确定
CommandButton控件 cb_cancel text 取消数据库原理及应用 ——“十一五,国家级规划教材 36
11.3 登录窗口的设计
系统登录窗口的主要作用就是用户输入帐户和密码后,
当用户鼠标单击“确定”按钮时,将用户输入的信息和数据库中保存的帐号密码进行对比验证。当考虑安全时,用户的密码应该以加密算法的形式存入数据库中,当取出密码时,再以解密算法将其取出并和用户的输入密码进行比较。本系统由于是入门教学用,密码操作没有采用加密、解密,有兴趣者可以参考其它资料。
cb_enter控件中的 click事件的程序代码如下,完成的是将用户输入的帐号、密码和数据库中保存的进行比较。
数据库原理及应用 ——“十一五,国家级规划教材 37
11.3 登录窗口的设计
//cb_enter控件中的 click事件的程序代码
string user_pass //定义存储用户密码字符串变量
user_id = dw_id.getitemstring(dw_id.getrow(),1)//从帐号控件中取得操作者选择帐号
IF user_id <> "管理员 " THEN //
如果帐号不是管理员,使用 SQL查询语句将和输入帐号匹配的
//密码从数据库中取出来,送入变量 user_pass
SELECT kpr.pass
INTO,user_pass
FROM kpr
WHERE kpr.id =,user_id;
数据库原理及应用 ——“十一五,国家级规划教材 38
11.3 登录窗口的设计
IF user_pass = sle_pas.text THEN //将数据库保存的密码和用户输入密码和比较
close(w_logo) //关闭登陆窗口
open(w_main) //打开主界面窗口
ELSE
Messagebox("警告 ","密码输入错误,请重新输入 ")//
比较结果不对,提示用户
sle_pas.text = ""
sle_pas.setfocus()
END IF
ELSE
Messagebox("警告 ","管理员不能开票 ")
dw_id.setfocus()
END IF
数据库原理及应用 ——“十一五,国家级规划教材 39
11.4 窗口的控件
控件用于在设计窗口、可视化用户对象和数据窗口对象时,增强其功能的图形化的对象。在窗口及可视化用户对象中的控件有很多事件,
用于触发脚本程序执行或函数调用。
控件是窗口中最重要的组成部分。在 PB中,窗口只是一个平台,这个平台上的控件才是实现窗口的各种操作,与用户进行交互的关键对象。
PowerBuilder提供了三十多个控件,供用户使用。
数据库原理及应用 ——“十一五,国家级规划教材 40
11.4 窗口的控件
11.4.1 窗口中控件的添加与删除
1.窗口中控件的添加
在窗口中添加控件的方法通常如下:参见图 11-9。
单击工具栏中的窗口控件按钮,打开所有控件。
选择要添加的控件按钮图标。
单击 【 Layout】 子窗口工作区的适当位置,即可看到所选择的控件,同时在属性子窗口中也显示该控件的属性。
也可以采取下列步骤添加控件:
选择 【 Insert】 下拉菜单中的 【 Control】 选项,打开控件列表。
选择要添加的控件名称。
单击 【 Layout】 子窗口工作区的需要放置控件的位置。
数据库原理及应用 ——“十一五,国家级规划教材 41
11.4 窗口的控件控件工具栏窗口中的单行编辑器控件图 11-9 窗口中的控件工具栏数据库原理及应用 ——“十一五,国家级规划教材 42
11.4 窗口的控件数据库原理及应用 ——“十一五,国家级规划教材 43
11.4 窗口的控件
2.窗口中控件的删除
在欲删除的控件之上单击鼠标右键,PB
显示弹出菜单,选择 【 Delete】 选项,即可删除所选控件。
数据库原理及应用 ——“十一五,国家级规划教材 44
11.4 窗口的控件
11.4.2 调整控件及其布局
1.复制控件
复制控件是复制出一个形状相同、位置相同的控件,
PB自动为其命名,新的控件与原来的控件重叠,拖动后方可看到两个控件。拷贝控件的同时也拷贝了原来控件的脚本。步骤如下:
右击要拷贝的控件,在弹出菜单中选择 【 Copy】 选项,
或者选择控件后按 Ctrl+C组合键。
右击目标位置,在弹出菜单中选择 【 Paste】 选项,PB
显示 【 Paste Control Name Conflict】 对话框,提示用户键入粘贴控件的名称。
键入控件的名称后单击 【 OK】 按钮。
数据库原理及应用 ——“十一五,国家级规划教材 45
11.4 窗口的控件
2.选择多个控件
为调整多个控件之间的距离、对齐、大小等,
应选择多个控件,方法有两种,分别是:
选择第一个控件,按住 Ctrl键,单击要选择的其它控件。
用鼠标器在要选择的控件之外拖拽,随着拖拽会有一实线框,实线框所框住的控件即被选中。
在选择控件时一定要注意控件的顺序,因为在调整时以第一个控件为基准。
数据库原理及应用 ——“十一五,国家级规划教材 46
11.4 窗口的控件
3.控件对齐
按照控件 1,2,3,… 的顺序选择一组控件。
单击工具栏中的 【 Align】 下拉命令按钮,打开对齐命令图标;或者单击 【 Format】 菜单,选择 【 Align】 选项,PB显示前六种对齐命令。
单击工具栏中的,Align top edges to first
selected”钮,表示以第一个控件为准顶部对齐。
数据库原理及应用 ——“十一五,国家级规划教材 47
11.4 窗口的控件
4.调整控件的大小
调整控件的大小就是使选择的控件与第一个控件的高度、宽度或大小相等。使用的命令分别是:
Make all widths sames as to first selected:使选择的控件与第一个控件宽度相同。
Make all heights same as to first selected:使选择的控件与第一个控件高度相同。
Make all widths and heights same as to first selected:使选择的控件与第一个控件宽度和高度相同。
数据库原理及应用 ——“十一五,国家级规划教材 48
11.4 窗口的控件
5.调整间距
调整控件间距的大小是使所有选择的控件之间的距离与第一个和第二个控件之间的距离相等,分别为垂直方向间距和水平方向间距。使用的命令分别是:
Space evenly horizontally:使水平方向的间距均等。
Space evenly vertically:使垂直方向的间距均等。
调整控件的对齐、大小和间距也可以通过工具栏中的
Align按钮组中的按钮实现。见图 11-10。
数据库原理及应用 ——“十一五,国家级规划教材 49
11.4 窗口的控件
图 11-10 控件调整工具按钮组对齐按钮间距调整按钮长宽调整按钮数据库原理及应用 ——“十一五,国家级规划教材 50
11.4 窗口的控件
在窗口中放置了多个控件之后,PB为各控件指定缺省的 Tab顺序。 Tab顺序即当用户按 Tab键时,焦点在控件之间缺省的跳转顺序。控件的 Tab标志示意见图 11-
11。
数据库原理及应用 ——“十一五,国家级规划教材 51
11.4 窗口的控件
改变控件的 Tab顺序,执行如下操作:
选择 【 Format】 下拉菜单中的 【 Tab order】 选项(或是单击工具栏上的按钮),PB显示当前缺省 Tab顺序,
图中控件右上角的红色数字。
定位光标到要修改 Tab顺序的控件处。
键入新的 Tab值。为 0时,表示 Tab顺序中不包括该控件
(即跳过)。
依次操作,直到修改所有控件的 Tab顺序。
选择 【 Format】 下拉菜单中的 【 Tab order】 选项(或是单击工具栏上的按钮),主窗口恢复正常状态。
数据库原理及应用 ——“十一五,国家级规划教材 52
11.5 控件的使用方法
11.5.1 控件的命名
PB中对各种控件的命名方法有默认的规定,在学习时一定要按照此规定养成良好的命名习惯,
以便增加程序的可读性。
PB中的控件有标准命名前缀方法,打开一个窗口对象,在菜单栏依次单击菜单 【 Design】 中的 【 Options… 】,在打开的对话框中查看
【 Prefix 1】,【 Prefix 2】 中的内容。见图 11-
12列出了 【 Prefix 1】 的内容,也可以在此对话框中修改命名前缀。
数据库原理及应用 ——“十一五,国家级规划教材 53
11.5 控件的使用方法
图 11-12 控件的标准命名前缀数据库原理及应用 ——“十一五,国家级规划教材 54
11.5 控件的使用方法
11.5.2 控件的共同属性
1,Enabled属性
Enabled属性值为一个逻辑型值,用于决定该控件是否可用。当控件的 Enabled属性值为 True时,该控件是活动状态,它可以响应事件。
当控件的 Enabled属性值为 False时,PB将灰化该控件,
以禁止用户使用。在 SingleLineEdit,MultiLineEdit以及
CommandButton等控件中如果有文字,则这些文字将变成为灰色。如果要将某个控件设置为不可用,则可以使用此属性。如果要显示某个控件,但其不是活动状态,则不要使用 Enabled属性。
数据库原理及应用 ——“十一五,国家级规划教材 55
11.5 控件的使用方法
2,Visible属性
Visible属性是一个逻辑型值,用于决定控件是否可视。当控件的 Visible属性值为 True时,该控件为可视; Visible属性为 False时,控件不可视并且不可用。
如果将某个控件的 Visible属性值设置为 False,
要在程序执行时显示该控件,可在脚本中将
True赋给 Visible属性,例如:
Controlname.Visible = True
数据库原理及应用 ——“十一五,国家级规划教材 56
11.5 控件的使用方法
3.设置控件颜色
设置控件的颜色的步骤如下:
选择要改变颜色的控件。
单击窗口工具栏中 下拉按钮,选择所需前景颜色。
单击窗口工具栏中 下拉按钮,选择所需背景色。
部分控件的前景、背景色不可更改,如
CommandButton控件。也不要使用通过设置控件的颜色的方法来改变窗口本身的颜色。
数据库原理及应用 ——“十一五,国家级规划教材 57
11.5 控件的使用方法
部分控件的前景、背景色不可更改,如 CommandButton控件。
也不要使用通过设置控件的颜色的方法来改变窗口本身的颜色。
除了使用 PB提供的颜色以外,用户也可以定制用于窗口对象以及数据窗口对象中的颜色。步骤如下:
选择 【 Design】 下拉菜单中的 【 Custom Colors】 选项,PB显示 【 颜色 】 对话框。
要选择一个当前的颜色或创建新的颜色,从一个基础颜色开始,拖动颜色指示器,在调色板中调制合适的颜色。也可以通过指定精确的数值设置该颜色。
单击 【 添加到自定义颜色 】 按钮,新颜色将添加到 【 自定义颜色 】 清单中。
选择 【 自定义颜色 】 清单中新定义的颜色。
单击 【 确定 】 按钮,PB将新颜色添加到 【 Color】 工具栏中,
该颜色标明 【 C】,当用户创建新的窗口,用户对象以及数据窗口等对象时均可以使用。如图 11-13所示。
数据库原理及应用 ——“十一五,国家级规划教材 58
11.5 控件的使用方法
4.设置 3D(三维)外观
当前的应用程序通常都具有三维的外观。为窗口中的控件选择三维的边框,并将窗口颜色设置为银灰色,即可达到三维视觉的效果。
设置 PB缺省 3D效果的步骤如下:
选择 【 Design】 下拉菜单中的 【 Options】 选项,
PB显示 【 Options】 对话框。
在 【 General】 选项卡中,选择 【 Default to 3D】
复选框。
单击 【 OK】 按钮。
数据库原理及应用 ——“十一五,国家级规划教材 59
11.5 控件的使用方法
11.5.3 控件的基本类型
( 1)激活动作的控件:例如 CommandButton(命令按钮)和 PictureButton(图像命令按钮)。
( 2)显示数据的控件:例如 ListBox(列表框)、
DropDownListBox(下拉列表框)和 DataWindow(数据窗口)等。
( 3)显示选择状态的控件:例如 RadioButton(单选按钮)和 CheckBox(复选框)等,可以用 GroupBox(分组框)分组这些控件。
( 4)起修饰作用的控件:例如,Line(线),Oval
(椭圆)等。这些控件用于在窗口上绘图。
( 5)支持 Internet功能的控件:例如,StaticHyperLink
(静态超链)。
( 6)用户自定义控件。
数据库原理及应用 ——“十一五,国家级规划教材 60
11.5 控件的使用方法
11.5.4 CommandButton
CommandButton(命令按钮)控件是不加任何修饰的标准
Windows按钮,带有一个标题。 CommandButton用于执行操作,
即单击该按钮后执行一个特定的动作。见图 11-14。
缺省按钮属性 取消按钮属性属性设置数据库原理及应用 ——“十一五,国家级规划教材 61
11.5 控件的使用方法
1.属性
CommandButton控件是三维对象,不具有 Border(边框)
属性。其前景色和背景色与 Windows系统颜色相同,
不可改变,其中的文本对齐方式也不可改变。用户仅可在属性子窗口中改变其文本颜色。单击按钮时,自动显示为被按下的形式。它具有如下自己的属性:
Text:定义 CommandButton控件的标题,该属性允许设置快捷键。
Tag:允许用户键入字符串,作为控件附加信息。
Default和 Cancel:选择 【 Default】 (缺省)和 【 Cancel】
(取消)复选框可以分别指定一个按钮为缺省按钮,
或为取消按钮数据库原理及应用 ——“十一五,国家级规划教材 62
11.5 控件的使用方法
如果定义了缺省的 CommandButton控件,
则其四周显示黑框。当焦点不在该
CommandButton控件上时,按 Enter键相当于单击该按钮,即触发其 Clicked事件。
如果定义了一个取消 CommandButton控件,则按 Esc键相当于单击该按钮,即触发其 Clicked事件。
数据库原理及应用 ——“十一五,国家级规划教材 63
11.5 控件的使用方法
2.事件
CommandButton控件有多个事件,最重要的事件就是 Clicked事件,需要在此事件中编写单击按钮时要执行的脚本代码。例如下面程序段就是常用的保存数据的脚本。
if dw_1.Update() > 0 then //数据窗口 1更新数据成功,提交数据
commit;
else //数据窗口 1更新数据失败,回滚数据
messagebox("发票管理 ","对不起,无法对数据保存 !")
rollback;
end if
if dw_2.Update() > 0 then
commit;
else
messagebox(发票管理 ","对不起,无法对数据保存 !")
rollback;
end if
数据库原理及应用 ——“十一五,国家级规划教材 64
11.5 控件的使用方法
11.5.5 PictureButton
PictureButton(图形按钮)控件的功能与 CommandButton
控件的功能相似,除了具有文本标题外,它还可以指定显示在按钮上的 BMP,GIF,JPEG,WMF或者 RLE图形文件。可以指定在允许使用按钮时显示一幅图形,而在该按钮为无效状态时显示另一幅图形。当用户希望使用图形而不仅仅是文本表示一个按钮时,可以使用此按钮。
PictureButton控件还具有另外两个明显的优点:一是可以同时在水平和垂直方向上指定文本的对齐方式,二是可以使用多行标题。
PictureButton控件其特殊的属性如下:
PictureName:指定按钮为 Enabled状态时显示的图形文件名称。 PB8.0中可从下拉列表中或是指定目录中选取图形数据库原理及应用 ——“十一五,国家级规划教材 65
11.5 控件的使用方法
DisableName:指定按钮为 Disabled状态时显示的图形文件名称。图形选取方式同上
HTextAlign:按钮上文本的水平方向的对齐方式,有
Left,Center和 Right三个选项。
VTextAlign:按钮文本的垂直方向的对齐方式,有 Top、
Bottom,Vcenter和 Multiline等选项。 Multiline方式从按钮的顶部开始排列文本,然后依次用换行的方式排列。
OriginalSize:可以改变按钮的大小。选择后,按钮与位图原始大小相同。
该按钮最重要的事件也是 Clicked事件。需要为该事件编写单击时的脚本代码。
数据库原理及应用 ——“十一五,国家级规划教材 66
11.5 控件的使用方法
11.5.6 RadioButton
RadioButton(单选按钮)控件是用于打开或关闭一个选项的小圆按钮,通常成组地排列在一个分组框中。一组中的单选按钮协同工作,在每个分组框中仅可选择一个单选按钮。单选按钮总是用于多个互斥的选项。见图 11-15。
数据库原理及应用 ——“十一五,国家级规划教材 67
11.5 控件的使用方法单选按钮单选按钮的属性分组框数据库原理及应用 ——“十一五,国家级规划教材 68
11.5 控件的使用方法
单选按钮只用来表示某选项的状态,不可用其激活动作。打开窗口后,一个分组框中必须有一个单选按钮被选择。其特殊属性为:
Automatic:指定单击该按钮时,显示圆点,或在
Clicked事件中处理。当单选按钮处于一个分组框中时,
忽略 Automatic属性。
LeftText:将文本显示在按钮的左边。
Checked:选择该按钮作为缺省值。用户也可以在窗口的 Open事件中处理。
BorderStyle:边框。有 StyleLowered(三维凹陷)、
StyleRaised(三维上凸)两种选择。
数据库原理及应用 ——“十一五,国家级规划教材 69
11.5 控件的使用方法
11.5.7 GroupBox
GroupBox(分组框)和 RadioButton控件结合使用比其它任何控件都更加美观。
因为一组中只有一个按钮可以被选择,
所以如何分组窗口中的按钮十分重要。
见图 11-15。
数据库原理及应用 ——“十一五,国家级规划教材 70
11.5 控件的使用方法
11.5.8 CheckBox
CheckBox(复选框)控件用来设置独立的选项,表示是 /否状态,选择后显示为,否则为 。
其特殊属性如下:
Checked:此属性值为 True时,选择复选框。
ThreeState:表示 CheckBox的第三种状态,显示为 。
ThirdState:是否将第三种状态作为缺省状态。
CheckBox之间是相互独立的,也可以将多个 CheckBox
放在一个分组框内,使窗口更加美观。
数据库原理及应用 ——“十一五,国家级规划教材 71
11.5 控件的使用方法
11.5.9 ListBox和 ListPictureBox
ListBox(列表框)和 ListPictureBox(图形列表框)控件是在一个具有滚动条的矩形框中显示多行文本,常用于双击其中的一个选项时,触发某种事件。二者区别为,后者的属性中多了一个 Picture标签页,用于设置列表项之前的图标。 ListBox控件既可显示数据,也可以激活动作。见图 11-16。
数据库原理及应用 ——“十一五,国家级规划教材 72
11.5 控件的使用方法
图 11-16 下拉列表框示意图
G ene r al 属性页列表框和图形列表框
I t e m s 属性页 图形列表框 P i ct ur es 属性页数据库原理及应用 ——“十一五,国家级规划教材 73
11.5 控件的使用方法数据库原理及应用 ——“十一五,国家级规划教材 74
11.5 控件的使用方法
1,General属性页
【 General】 属性页中的属性如下:
Sorted:选择后,排序列表框中的选项。
HScrollBar和 VScrollBar:指定在需要时是否显示相应的滚动条。
VScrollBar比较常用,HScrollBar不常用。
DisableNoScroll:总是显示滚动条,但是当列表框中的内容均可以显示时,滚动条为 Disable。关闭该选项,则显示的选项大于列表框的显示范围时显示滚动条。其缺省值为关闭。
ExtendedSelect:选择后,允许选择列表框中的多项。
MultiSelect:指定是否允许选择多项。选择后,单击每一项即可选择多行。如果同时选择 ExtendedSelect和 MultiSelect属性,那么
ExtendedSelect属性具有优先权。
TabStop:通过设置该项属性为列表框中的文本设置 Tab停顿,最多可以定义 16个 Tab停顿(缺省为每 8个字符一个 Tab停顿)。
数据库原理及应用 ——“十一五,国家级规划教材 75
11.5 控件的使用方法
2,Pictures属性页
【 Pictures】 属性页允许用户设置图形列表项前的图标。
此外也可以使用函数 AddPicture、和 DeletePicture在脚本中动态地为列表项加入图标。
3,Items属性页
【 Items】 属性页允许用户输入列表框中显示的列表项内容。
此外也可以使用函数 AddItem,InsertItem和 DeleteItem
在脚本中动态地填写列表框,并编辑其内容。
数据库原理及应用 ——“十一五,国家级规划教材 76
11.5 控件的使用方法
3.事件
ListBox常用的事件是 DoubleClicked和
SelectionChanged。
当用户选择某列表项并双击时产生
DoubleClicked事件。如果希望当用户双击某列表项时执行相应的操作,必须为该控件的
DoubleClicked事件编写脚本。
SelectionChanged事件在用户选择列表框中的列表项时触发。用户在执行应用程序期间选择一个新的列表项内容,处理一些操作时可使用此事件。
数据库原理及应用 ——“十一五,国家级规划教材 77
11.5 控件的使用方法
4.函数
窗口对象中的很多控件都具有相同的函数,介绍函数使用方法最 全面、最完整的资料就是 PowerBuilder 提供的在线帮助,所有函数的具体使用方法都可以直接从中找到,读者应学会从这些在线帮 助中查找所用函数的使用技巧。
ListBox控件可以使用的函数很多,AddItem(),DeleteItem()、
InsertItem(),FindItem()等函数。
AddItem函数用于在列表项的尾部追加一个新的列表项,如果该控件的 Sorted属性设置为 True,则新的列表项被插入后重新排序所有列表项。 InsertItem()用于在指定列表项的索引号之前项插入一个新的列表项,下面为这两个函数的使用脚本:
//在职称列表框的后边添加助理工程师
lb_zhicheng.AddItem(“助理工程师” )
//在职称列表框的教授后边添加高级工程师
lb_zhicheng.InsertItem(“高级工程师”,2)
数据库原理及应用 ——“十一五,国家级规划教材 78
11.5 控件的使用方法
11.5.10 SinglelineEdit
SinglelineEdit(单行编辑框)控件与
StaticText的区别是,当应用程序运行时,
该控件具有编辑功能。一般用于数据的输入和输出,例如要求用户输入用户名和口令。见图 11-17。
数据库原理及应用 ——“十一五,国家级规划教材 79
11.5 控件的使用方法数据库原理及应用 ——“十一五,国家级规划教材 80
11.5 控件的使用方法
1,SinglelineEdit属性
该控件的特殊属性如下:
Text:允许输入作为缺省值显示的文本。运行时可在程序中设置该属性。
DisplayOnly:选择后,该控件仅可用于显示不可编辑。
AutoScroll:选择后,允许输入较 SinglelineEdit实际长度更长的文本。当长度超过控件可显示宽度时,文本自动向左滚动。
Password:此属性选定后,在单行编辑框中显示,*”号而不是实际输入的字符。该属性通常用于用户输入密码。
HideSelection:缺省为选择。当未被选择时,即使编辑框失去焦点,也高亮显示选定的文本。选择此属性以保证只有在获得输入焦点时高亮显示选定文本。
TextCase:设置在编辑框中可以键入的文本为大写字符还是小写字符。
Limit:指定在编辑框中可键入的字符数,其取值范围是 0-32767,若取值为
0,则表示没有限制。
Accelerator:为该控件指定快捷键,使用该属性可以使用户快速获取焦点。
数据库原理及应用 ——“十一五,国家级规划教材 81
11.5 控件的使用方法
2.单行编辑框常用事件
( 1) Modified事件:
可有效检查键入的文本。如果修改了该控件的编辑框,在移走当前焦点时,触发该事件。在该事件中可以编写脚本,通过取出该 控件的 Text属性验证其内容,执行有效性检查。
例如下面这段脚本用于检查单行编辑器中输入的是否为数字 0-9。
IF sle_a.text < '0' or sle_a.text > '9' THEN
MessageBox("信息 ","请输入 0-9数字 ",Information!,OK!)
END IF
( 2) GetFocus:用 Tab键或鼠标单击进入该控件的编辑框时,触发该事件。
( 3) LoseFocus:用 Tab键离开该控件或者鼠标单击其它控件时,
触发该事件。
数据库原理及应用 ——“十一五,国家级规划教材 82
11.5 控件的使用方法
11.5.11 MultiLineEdit
MultiLineEdit(多行编辑框)控件可以在其中输入多行文本,如注释信息、
备注字段等的编辑框。功能与 SinglelineEdit相似。在其属性中增加了滚动条。
1.属性
除了 AutoHScroll属性之外,MultiLineEdit控件还具有 AutoVScroll、
HScrollBar和 VScrollBar属性。可以组合多个属性,对象更佳的观感效果,
组合过程中,可以使用预览模式检验。
Alignment属性可以在 MultiLineEdit中使用 Left!(左对齐),Right!(右对齐)和 Center!(居中)三种对齐方式。但只有在左对齐方式下方可使用 HScrollBar属性。对于其它对齐方式,HScrollBar属性不起作用。
TabStop属性定义 Tab键停的位置。在缺省情况下,Tab键是每隔 8个字符停一下。如果输入一个正整数 n,那么 Tab键每隔 n个字符停顿一下。
2.事件
MultiLineEdit的常用事件为 Modified,GetFocus和,LoseFocus,其用法与
SinglelineEdit相同。
数据库原理及应用 ——“十一五,国家级规划教材 83
11.5 控件的使用方法数据库原理及应用 ——“十一五,国家级规划教材 84
11.5 控件的使用方法
11.5.12 EditMask
EditMask(掩码编辑框)控件是一种多功能的单行编辑框。可以用其创建一个掩码,便于用户输入合法的有效的字符,并且可格式化 输入的字符为标准格式。该控件属性的 【 Mask】 属性页如图 11-18
所示。
用户可以使用 PB提供的掩码,也可以自己创建掩码。有时需要输入有固定格式的数据。
固定显示 7 位数字的掩码编辑框带有自动增量功能的掩码编辑框掩码属性标签页设置日期格式选择日期掩码格式数据库原理及应用 ——“十一五,国家级规划教材 85
11.5 控件的使用方法 EditMask
1.属性
( 1) Mask和 MaskDataType
如果使用 PB提供的掩码格式,需要将这两个属性配合在一起使用。
例如,要选择一个日期的掩码格式,操作步骤如下:
在 MaskDataType下拉列表框中选择 【 datemask!】 数据类型。
单击 Mask旁边的按钮,选择适当的格式,或直接在此编辑框中输入需要的合法格式。
( 2) Spin
属性允许用户使用自动增量的功能。选择该属性,然后在 【 Increment】 (增量)编辑框中输入一个增量步长,在 【 Max】
编辑框中输入一个最大值,在 【 Min】 编辑框中输入一个最小值后,在编辑框旁显示两个包含上箭头和下箭头的小按钮。单击上 箭头按钮增加一个单位,单击下箭头按钮减少一个单位。
数据库原理及应用 ——“十一五,国家级规划教材 86
11.5 控件的使用方法 EditMask
( 3) UseCodeTable
选择 Spin属性后,选择 UseCodeTable后,将使用 DisplayData下的代码表校验数据。
( 4) AutoSkip
此属性设置当按掩码格式输入字符后,焦点是自动跳到下一个控件还是停止不动。
2.事件
Modified,GetFocus和 LoseFocus是掩码编辑框的常用事件,其用法与单行编辑框相同。
数据库原理及应用 ——“十一五,国家级规划教材 87
11.5 控件的使用方法
11.5.13 DropDownListBox和 DropDownPictureListBox
DropDownListBox(下拉列表框)和
DropDownPictureListBox(下拉图形列表框)控件也称为组合框控件,二者区别为,后者的属性中多了一个
Pictures标签页,用于设置列表项之前的图标。由于其组合了单行编辑器和列表框的特性,所以是一个使用非常方便的控件。重要的属性为。
AllowEdit:选择后,允许用户在编辑框中编辑。
ShowList:选择后,下拉列表框仅用于列表显示,不具备下拉功能。
该控件的常用事件是 Modofled,GetFocus和 LoseFocus,
使用方法同前面控件。
数据库原理及应用 ——“十一五,国家级规划教材 88
11.5 控件的使用方法
11.5.14 StaticText
StaticText(静态编辑框)控件是静态的,在程序运行时用户不可编辑其属性,但可以使用脚本修改。其作用是标识其它的控件。
其常用属性为:
DisabledLook:选择后,当 Enable属性为 False时,控件的文本变为灰色。
FocusRectangle:指定当控件具有输入焦点时,是否在其外面显示一个矩形框。
Border,StaticText控件的边框类型,选择后,
BorderStyle项才有意义。
数据库原理及应用 ——“十一五,国家级规划教材 89
11.5 控件的使用方法
11.5.15 RichTextEdit
RichTextEdit(超文本编辑框)控件是一种功能非常强大的文本输入工具,可以使用 Windows支持的各种字体、字号和颜色。它还有一组完整的格式化工具以及自己的工具按钮栏和标尺栏,是一个控件级的 Windows字处理器。
数据库原理及应用 ——“十一五,国家级规划教材 90
11.5 控件的使用方法
RichTextEdit
1,General属性页
通过设置 RichTextEdit控件的如图所示的
General属性页可以改变该控件的外观。其中:
Resizable:选择该选项,可以在程序运行中改变控件的尺寸。
HScrollBar:显示水平滚动条。
VscrollBar:显示垂直滚动条。
如果未设置滚动条,则可以使用光标在编辑框中滚动。
数据库原理及应用 ——“十一五,国家级规划教材 91
11.5 控件的使用方法
RichTextEdit
2,Document属性页
DocumentName:定义编辑框中列出的文本名称,该名称是打印该控件内容时,打印队列中所用的名称。
RulerBar:显示 Ruler工具栏。
ToolBar:显示 TooL工具栏。
HeaderFooter:指定文挡的页眉和页脚。该项属性仅可在设计时设定,在应用程序运行过程中不可更改。
如果未选择,即使用户的文挡中有页眉和页脚,在该控件中也不可显示。
PopupMenu:选择此属性可使该控件有一个弹出式菜单。
数据库原理及应用 ——“十一五,国家级规划教材 92
11.5 控件的使用方法
RichTextEdit
PopupMenu:选择此属性可使该控件有一个弹出式菜单。
设置弹出式菜单之后,在运行窗口时,右击该控件则显示该菜单。利用弹出式菜单可以完成下列工作:
编辑:利用 Cut,Copy,Paste,Clear等选项,可剪切、
复制、粘贴以及清除所选文本内容。
导入文件:使用 Insert File选项,可插入一个文本到该控件的编辑框中。
显示和修改控件的属性:选择 Properties选项之后,显示该控件的属性对话框。
数据库原理及应用 ——“十一五,国家级规划教材 93
11.5 控件的使用方法
RichTextEdit
3.其它属性
此外还有如下多个 Visible属性,可以使用户看到通常情况下看不到的控制字符:
ReturnsVisible:显示换行符。
SpacesVisible:显示空格。
TabsVisible:显示 Tab符号。
InputFieldsVisible:显示编辑框的值。
InputFieldNamesVisible,显示编辑框名。
WordWrap:自动换行。
PicturesAsFrame:选择后,该控件使用的位图显示一个空白框,
否则正常显示。
DisplayOnly:选择后,该控件仅可用于显示,不可编辑。
UndoDepth:编辑时,可以执行 Undo操作的次数。
数据库原理及应用 ——“十一五,国家级规划教材 94
11.5 控件的使用方法
11.5.16 Tab
一个 Tab(标签页)控件可以包含多个标签页,在每个标签页中还可放置其它的控件。 Tab控件的优点是可以在很小的空间中组织、放置大量的信息。放置了一个基本的 Tab控件的窗口,如图 11-19所示。
T ab 标 签 页
Gene r al 属性 T ab 1 标 签 页
T ab Pag e 属性数据库原理及应用 ——“十一五,国家级规划教材 95
11.5 控件的使用方法 -Tab
1.添加选项卡
Tab控件由多个标签页组成,用户可根据实际需要,在其中添加各种控件,包括 Tab控件。
方法如下:
在窗口上放置一个 Tab控件。
右击 Tab控件的顶部,PB弹出菜单。
选择 【 Insert TabPage】 选项,添加一个新的标签页。
在新增的标签页中放置其它控件。
数据库原理及应用 ——“十一五,国家级规划教材 96
11.5 控件的使用方法 -Tab
2.属性
PictureOnRight:为标签页标题设置的图标显示在文本的右边。
PowerTips:标签页可以显示气泡帮助信息。
FixedWidth:确定标签卡的宽度是否固定。
FocusOnButtonDown:决定当取得焦点时是否显示虚框。
ShowText:确定个标签页是否显示文本标题。
ShowPicture:确定各标签页是否显示图标。
Perpendicular Text:选择后则文本信息将以竖排版形式显示。
MultiLine:决定标签页的文本是否可以使用多行显示。
RaggedRight:决定标签页的是否可伸展到窗口的右边框。
BoldSelectedText:是否可用粗体显示当前选择的标签页文本。
CreateOnDemand:选择后,可为用户提供在运行时添加新标签页的功能。
SelectedTab:指定首先显示哪个标签页。数字表示标签页的索引号。
TabPosition:确定标签页放置在窗口位置,包括上边、下边、左边、右边或其它组合。
数据库原理及应用 ——“十一五,国家级规划教材 97
11.5 控件的使用方法 -Tab
3,TabPage属性
鼠标器单击标签页面位置,属性窗口中显示相应的 TabPage属性。
PowerTipText:键入气泡帮助信息的内容。
PictureName:选择 PB提供的图标或指定图标文件的路径。
PictureMaskColor:指定在该图标中那种颜色是透明的。
数据库原理及应用 ——“十一五,国家级规划教材 98
11.5 控件的使用方法 -Tab
4.事件
Tab控件的常用事件有:
SelectionChanging和 SelectionChanged事件:两个事件分别发生在选择一个新标签页之前和之后。这两个事件当前标签页的索引号均由 OldIndex参数指定,
NewIndex参数为要选择标签页的索引号。
数据库原理及应用 ——“十一五,国家级规划教材 99
11.5 控件的使用方法 -Tab
5.函数
用于 Tab控件的函数有:
OpenTab(),动态打开一个用户自定义对象作为标签页控件中的一个新的标签页。
OpenTabWithParm(),打开一个可视用户对象的同时传递一个参数,该参数保存在全局变量 Message对象中。
CloseTab(),关闭用 OpenTab()函数打开的标签页。
SelectTab(),选择一个标签页。
数据库原理及应用 ——“十一五,国家级规划教材 100
11.5 控件的使用方法
11.5.17 Drawing
PB提供了一组用于修饰窗口的绘图控件,其中包括:
Line(直线),Oval(椭圆),Rectangle(矩形)以及
RoundRectangle(圆角矩形)等。这些对象没有与之关联的事件,使用这些控件可使窗口功能更加清晰,或者用于分组窗口中的控件。
当将 Drawing(绘图)控件放入窗口时,它具有缺省的大小、形状和颜色,这些都可以通过设置属性改变。
大多数绘图控件都有如下的属性:
FillColor:指定图形填充的颜色。
FillPattern:指定不同类型的交叉影线。
LineColor:指定轮廓线的颜色和填充模式。
LineStyle:调整线的宽度或者控件轮廓线的宽度。
数据库原理及应用 ——“十一五,国家级规划教材 101
11.5 控件的使用方法
11.5.18 DataWindow
DataWindow(数据窗口)控件和数据窗口对象是两个完全不同的概念。 DataWindow控件作为一个控件,是数据窗口对象与应用程序的接口,
只有通过它,方可在应用程序中显示数据窗口对象。而数据窗口对象是与数据库连接的接口,
在数据窗口画板创建。参见图 11-20。
数据窗口控件数据窗口控件属性数据库原理及应用 ——“十一五,国家级规划教材 102
11.5 控件的使用方法
数据窗口控件常用属性是:
DataObject:选择数据窗口对象,方法是单击右边的省略号按钮,打开 【 Select Object】 对话框,选择所需的
DataWindows。
Title:为数据窗口控件添加标题,该属性要求选择 TitleBar,
当在一个窗口中有多个数据窗口时,这一功能可有效地显示数据窗口的内容。
ControlMenu:选择后,在数据窗口的右上角放置一个关闭按钮。
MaxBox和 MinBox:在标题栏中放置最大化和最小化按钮。
LiveScroll:选择后,当垂直滚动条上下滑动时,数据窗口对象中的数据也将随之移动。
HsplitScroll,水平划分数据窗口为两大部分,可以拖动分界线移到任意位置,并独立地水平移动这两个数据窗口。
数据库原理及应用 ——“十一五,国家级规划教材 103
11.5 控件的使用方法
11.5.19 OLE
可以在应用程序窗口中使用 OLE控件嵌入 OLE兼容的其它应用程序,也可以通过它在窗口中放置 OLE自定义控件。
在窗口中添加 OLE控件的方法是:
( 1)单击工具栏下拉按钮中的 OLE控件,或者选择 【 Insert】 下拉菜单中的 【 Control】 选项,然后选择 【 OLE】 选项,打开
【 Insert Object】 对话框。参见图 11-21。
该对话框共有三个属性页,分别用于创建新的 OLE控件、从文件打开或第三方提供的控件以及自定义控件。
OLE应用程序,OLE允许在用户在自己的应用程序中集成其它应用程序中的数据。
OLE自定义控件( OCX),OLE自定义控件是在 Windows95/98系统中创建控件的新标准。
数据库原理及应用 ——“十一五,国家级规划教材 104
11.5 控件的使用方法
图 11-21 OLE控件图示创建新的 OL E 控件 插入 OL E 控件注册新的控件删除左边列表中的的控件数据库原理及应用 ——“十一五,国家级规划教材 105
11.5 控件的使用方法 -OLE
( 2)如果要在窗口中插入 OLE自定义控件,则要注册新的控件,单击 【 Register
New按钮。如果要从列表框中取消一个控件,选择该控件后单击 【 Unregister】
按钮。
数据库原理及应用 ——“十一五,国家级规划教材 106
11.5 控件的使用方法 -OLE
( 3)如果要查看所选控件的详细信息,选择该控件后单击 【 Bowse】 按钮,PB显示 【 OLE
Object Browser】 (OLE对象浏览器)对话框。
其中显示该控件的属性、事件等详细信息。单击 【 OK】 按钮,结束查看。
( 4)如果要插入 OLE自定义控件,单击列表框中的一个控件,单击 【 OK】 按钮。
( 5)单击窗口中要放置该控件处。
在窗口中放置控件后,可以改变其大小或移动其位置。
数据库原理及应用 ——“十一五,国家级规划教材 107
11.5 控件的使用方法
OLE控件常用属性为:
Activation:确定激活 OLE控件方式。三种选择方式为
activateondoubleclick!(双击时),activateongetfocus!
(获取焦点时),activemanually!(人工激活,即在程序中通过调用 Activate()函数激活),参见图 11-22。
C al end er 控件 9.0
O L E 控件属性数据库原理及应用 ——“十一五,国家级规划教材 108
11.5 控件的使用方法 -OLE
DisplayType:指定在 OLE控件中显示 OLE对象的方式,三种选择的方式为 DisplayAsContent
(显示对象的真实内容),DisplayAsIcon(显示为一个图标),Displayasactivexdocument
(显示为一个 ActiveX文件)。
ContentsAllowed:确定在运行时调用 Insert()
函数的方式。三个选项为 Containsany! (使用任意方式),Containsembeddedonly!(采用嵌入方式),Containslinkedonly!(采用链接方式)。
数据库原理及应用 ——“十一五,国家级规划教材 109
11.5 控件的使用方法 -OLE
LinkUpdateOptions:确定 OLE控件中的链接对象的更新方式,两种选择方式为 Linkupdateartomatic!(自动更新)和 Linkupdatemanually!(人工更新)。如果选择第一种方式,打开链接对象后,只要有变化则自动更新。如果选择第二种方式,需要在脚本中编写相应的代码。
SizeMode:确定 OLE对象在 OLE控件中显示的尺寸方式,两种选择方式为 Clip!和 Stretch!。 Clip!方式以
OLE对象的原始尺寸显示,剪切大于 OLE控件部分。
Stretch!方式用 OLE控件尺寸调整 OLE对象的显示尺寸。
数据库原理及应用 ——“十一五,国家级规划教材 110
11.5 控件的使用方法
11.5.20 HtrackBar和 VtrackBar控件
这两个控件由滑动标记、尺寸及其刻度所组成,一个用于水平方向,一个用于垂直方向。
1.属性
这两个控件的属性基本含义相同,如下:
MiniPosition:确定滑动标记位于控件标尺左边界时的位置值,即最小值。
MaxPosition:确定滑动标记位于控件标尺右边界时的位置值,即最大值。
Position:确定滑动标记处于控件标尺上的位置,该值应在最大值和最小值之间。
TickFrequency:标尺刻度,即每刻度代表的标尺的增量。
Pagesize:确定在标尺上单击或按 PageUp和 PageDown键时滑动标记移动的刻度值,缺省设置为 MaxPosition与 MinPosition的差值被 5除后所得的商。
数据库原理及应用 ——“十一五,国家级规划教材 111
11.5 控件的使用方法 -HtrackBar
和 VtrackBar控件
LineSize:确定单击一次箭头键滑动标记移动的刻度值。如果将该属性设置为 1,表示每次移动一个标尺刻度。
SliderSize:设置标尺的刻度其缺省值为 0,一般不用更改。
TickMarks:指定滑动标记和刻度的显示方式,
包括 hticksontop!,hticksonbottom!、
hticksonboth!以及 hticksonneither!。
Slider:确定是否显示滑动标记,缺省为选择。
数据库原理及应用 ——“十一五,国家级规划教材 112
11.5 控件的使用方法 -HtrackBar
和 VtrackBar控件
2.事件
主要事件如下:
LineLeft:单击向左方向箭头键或向上方向箭头键时触发。
LineRight:单击向右方向箭头键或向下方向箭头键时触发。
Moved:当滑动标记移动时触发该事件。
PageLeft:当单击标尺的左边或上边或单击 PageUp键时触发该事件。
PageRight:当单击标尺的右边或下边或单击
PageDown键时触发该事件。
RbuttonDown:右击时触发该事件。
数据库原理及应用 ——“十一五,国家级规划教材 113
11.5 控件的使用方法
11.5.21 HprogressBar(水平进度条)和
VprogressBar(垂直进度条)控件
HprogressBar和 VprogressBar控件主要用于显示某一过程的进度状态,如常见的软件安装过程。
数据库原理及应用 ——“十一五,国家级规划教材 114
11.5 控件的使用方法
11.5.22 StaticHyperLink(静态超链)
PictureHyperLink(图形超链)控件
这两个控件专门为开发 Internet功能而设。
使用该属性,用户可以在应用程序运行时键入网址,链到一个 Web页面,访问
Internet网络资源。
数据库原理及应用 ——“十一五,国家级规划教材 115
11.5 控件的使用方法数据库原理及应用 ——“十一五,国家级规划教材 116
本章小结
本章主要介绍了窗口对象,重点将窗口对象上面的控件做了详细的使用说明。
窗口是 PowerBuilder中的可视对象,是应用程序和用户交流的主要界面,而窗口上的控件是用户在使用时和应用程序进行信息输入输出的主要手段。
熟练掌握窗口对象及其常用控件的属性、事件、
函数是进行可视化环境程序设计的关键,
第 11章 窗口对象
本章重点内容
窗口的基本组成和类型
窗口中各控件的使用方法
常用窗口的设计技巧数据库原理及应用 ——“十一五,国家级规划教材 2
11.1 窗口
窗口是 Windows应用的可视图形操作界面,是 PB中主要的组成部分。
用户通过窗口向应用程序提供必要的数据,直接操作应用程序;应用程序通过窗口显示运行状态和执行结果。
数据库原理及应用 ——“十一五,国家级规划教材 3
11.1.1 窗口的组成及类型
PB窗口由以下三部分组成:
1、属性,Pro定义窗口的外观和行为。
2、事件:由用户动作触发而进行的动作。
3、控件:放在窗口上,用于请求、输入或显示信息。
数据库原理及应用 ——“十一五,国家级规划教材 4
11.1.1 窗口的组成及类型
PB提供下列四种类型的窗口:
1、主窗口 (Main):任何时候都可以显示在任何地方,可以有菜单,能被改变大小。
2、子窗口 (Child):从属于父窗口,不能移到父窗口之外,没有菜单,不能被当作活动窗口,可改变大小;父窗口可以是主窗口或弹出式窗口。
数据库原理及应用 ——“十一五,国家级规划教材 5
3、弹出式窗口 (Popup):一般由其父窗口打开,
显示在父窗口前面,既能移出父窗口,也能覆盖父窗口,当父窗口最小化时,它也被最小化,
可以有菜单和标题栏。
4、响应窗口 (Response),一般用于显示信息,
由其父窗口打开,打开后,必须关闭该窗口才能对应用中的其他窗口进行操作;不能被最大化和最小化。
11.1.1 窗口的组成及类型数据库原理及应用 ——“十一五,国家级规划教材 6
例如,Messagebox对话框就是响应窗口的实例。它打开一个系统窗口。
语法为:
MessageBox(title,text{,icon,button{,default}}})
其中,title:窗口的标题;
text:窗口中的显示信息;
11.1.1 窗口的组成及类型数据库原理及应用 ——“十一五,国家级规划教材 7
5、框架窗口及带微帮助的框架窗口:
( MDI Frame and MDI Frame with
Microhelp)
MDI框架窗口及其子窗口构成了应用程序的多文档界面风格。在一个 MDI框架窗口中可以打开多个文档窗口( MDI
子窗口)并在这些窗口中切换。
11.1.1 窗口的组成及类型数据库原理及应用 ——“十一五,国家级规划教材 8
框架窗口及带微帮助的框架窗口的区别是后一个 MDI窗口在窗口底部多了一个状态栏,用于显示应用程序的当前简短信息。
典型的 MDI框架窗口由标题栏、菜单栏、工具栏、工作区和状态栏组成。
PB的开发环境使用的就是带微帮助的
MDI框架窗口
11.1.1 窗口的组成及类型数据库原理及应用 ——“十一五,国家级规划教材 9
11.1.2 窗口的创建与修改创建窗口的步骤
( 1)单击主窗口工具栏中的 【 New】 按钮,显示 【 New】 对话框。
PB O bj ect 选项
W i ndo w s 对象数据库原理及应用 ——“十一五,国家级规划教材 10
11.1.2 窗口的创建与修改
( 2)选择 【 PB Object】 标签页。
( 3)双击 【 Window】 图标,打开窗口画板,设计窗口对象。
( 4)保存新建窗口。单击工具栏中的
【 Save】 按钮,显示 【 Save Window】 对话框。见图 11-2
数据库原理及应用 ——“十一五,国家级规划教材 11
11.1.2 窗口的创建与修改
( 5)在
【 Windows】 编辑框中键入窗口对象名,在
【 Comment】
(注释)编辑框中键入简要的说明性文字。
( 6)单击 【 OK】
按钮,窗口创建完成。
【 Sav e W i ndo w 】对话框输入窗口名称加入窗口注释数据库原理及应用 ——“十一五,国家级规划教材 12
11.1.3 窗口的属性
1,【 General】 标签页数据库原理及应用 ——“十一五,国家级规划教材 13
11.1.3 窗口的属性
1,【 General】 选项卡
Title:窗口标题。用户可在其下面的文本框输入要显示的窗口标题。
Tag:窗口一个注释。
MenuName:菜单名称。在其中键入与该窗口相连的菜单的名称。或者单击右边的省略号按钮,在应用程序库中选择适当的菜单对象。
Visible:窗口是否可见,缺省值为可见。
Enable,窗口是否可以被激活,缺省值为选择。
TitleBar:窗口标题栏,缺省为选择,只有子窗口、弹出式窗口及响应式窗口支持该选项。
数据库原理及应用 ——“十一五,国家级规划教材 14
11.1.3 窗口的属性
1,【 General】 选项卡
ControlMenu:控制菜单。缺省为选择,表示窗口有控制菜单。
MaxBox,MinBox:最大化按钮、最小化按钮。是否在控制菜单中设置最大化、最小化按钮。
ClientEdge:是否显示用户工作区边框。
PletteWindow:只用于弹出式窗口。设置是否显示标题栏的图标以及最大和最小化按钮。
ContexHelp:该属性只用于弹出式窗口。用于设置是否显示上下文帮助信息。
RightToLeft:从右向左显示。用户不要选择该项,否则将造成屏幕混乱
Resizable:如果选择该项,窗口的标题栏中将有一个可以使窗口在最大化和正常化之间进行切换的按钮,缺省值为选择。
数据库原理及应用 ——“十一五,国家级规划教材 15
11.1.3 窗口的属性
1,【 General】 选项卡
Boder:窗口是否有边框。只有子窗口和弹出式窗口支持该选项。缺省值为有。
WindowsType:窗口类型。
WindowsState:窗口打开时状态,可选值为
normal!,maximized!和 minimized!。
BackColor:窗口的背景颜色。
MdiClientColor:多文档窗口用户区的颜色。
Icon:窗口标题栏标题数据库原理及应用 ——“十一五,国家级规划教材 16
11.1.3 窗口的属性
2,【 Scroll】 选项卡
【 Scroll】 标签页用于设置水平滚动条和垂直滚动条。其中:
HscrollBar,窗口的水平滚动条。
VscrollBar,窗口的垂直滚动条。
UnitsPerColumn,单击垂直滚动条移动的 PB单位数。缺省值为 0,表示每次移动窗口的 1/100。
ColumnsPerPage,每页显示的列数,其缺省值为 0,表示每页显示 10列。
LinesPerPage,每页显示的行数,其缺省值为 0,表示每页显示 10行 。
数据库原理及应用 ——“十一五,国家级规划教材 17
11.1.3 窗口的属性
3,【 Toolbar】 标签页
【 Toolbar】 标签页内容如图 11-4所示,【 Toolbar】 标签页用于设置 MDI类型的窗口显示在屏幕上的初始位置。其中:
ToolbarVisible,工具栏是否可视
ToolbarAlignment,窗口显示在屏幕上的初始位置。
ToolbarX,ToolbarY:设置工具栏为浮动方式时的 X、
Y的屏幕坐标值。
ToolbarWidth,ToolbarHeight,设置工具栏为浮动方式时的宽度和高度数据库原理及应用 ——“十一五,国家级规划教材 18
11.1.3 窗口的属性数据库原理及应用 ——“十一五,国家级规划教材 19
11.1.3 窗口的属性
4,【 Other】 标签页
【 Other】 标签页内容如图 11-5所示,用于设置窗口对象显示在屏幕上的位置及宽度和高度。
其中:
X,Y:窗口左上角在屏幕上的坐标值。
Width,Height:窗口的宽度和高度。
Pointer,鼠标在窗口中移动时指针的样式。用户可以单击该下拉列表框,从中选择自己喜欢的样式。
数据库原理及应用 ——“十一五,国家级规划教材 20
11.1.3 窗口的属性数据库原理及应用 ——“十一五,国家级规划教材 21
11.1.4 窗口的事件
窗口事件是用于获取和处理影响窗口的动作,窗口对象有多个事件。见图 11-6
所示。
窗口 Ope n 事件脚本窗口事件列表数据库原理及应用 ——“十一五,国家级规划教材 22
11.1.4 窗口的事件
1,Active事件
在窗口成为活动窗口之前触发。
2,Clicked,DoubleClicked事件
单击、双击窗口中的非有效控件部分时,
触发该事件。这两个事件都有三个参数:
数据库原理及应用 ——“十一五,国家级规划教材 23
11.1.4 窗口的事件
( 1) flags
表示用户按了鼠标的哪一个键,
以及按键时是否同时按下 shift、
ctrl键。具体的取值及其对应的意义如表 11-1所示。
最后取得的参数值为上述表中的参数值的累加。如在按下鼠标左肩的同时按住键盘上的
ctrl键,则 flags的值为 1+ 8 =
9,通过改参数可以捕捉用户的按键情况。
参数值 意义
1 按下鼠标左键
2 按下鼠标右键
4 按下键盘的 shift键
8 按下键盘的 ctrl键
16 按下鼠标中键数据库原理及应用 ——“十一五,国家级规划教材 24
11.1.4 窗口的事件
( 2) xpos
表示单击鼠标时鼠标指针距离窗口 左 边缘的距离,以象素为单位。
( 3) ypos
表示单击鼠标时鼠标指针距离窗口 上 边缘的距离,以象素为单位。
数据库原理及应用 ——“十一五,国家级规划教材 25
11.1.4 窗口的事件
3,Close事件
在关闭窗口之前触发。
4,CloseQuery事件
在 Close事件发生之前发生。
5,Open事件
由 Open,OpenWithParm以及 OpenSheetWithParm等函数打开一个窗口时触发。通常是在 Open事件中作一些初始化工作。下面是一个窗口的 Open事件的脚本程序。
//将数据窗口控件和事务对象建立联系
dw_1.settransobject (SQLCA)
dw_1.retrieve()
//单行编辑器获得焦点
sle_1.setfocus()
数据库原理及应用 ——“十一五,国家级规划教材 26
11.1.4 窗口的事件
6,Resize事件
打开窗口或者改变窗口的大小时触发该事件。
7,Timer事件
每隔一定的时间就触发一次该事件,在 Time函数中设置时间值。下面是 Timer事件中一段脚本。这两行语句就可以实现在窗口之上显示一个电子钟。
以下是 Timer事件中的脚本程序。
//在静态文本 st_time中显示时间
st_time.Text = String(Now(),"hh:mm:ss")
以下是 Open事件中的脚本程序。
//每隔 5秒钟触发 Timer事件一次
Timer(1)
数据库原理及应用 ——“十一五,国家级规划教材 27
11.1.4 窗口的事件
8,MouseMove,MouseDown,MouseUp
事件
当在窗口区域内移动鼠标时,触发
MouseMove事件。
当在窗口区域内没有控件的地方单击鼠标左键时,触发 MouseDown事件;释放鼠标左键时,触发 MouseUp事件。他们的参数返回值与 Clicked事件相同。
数据库原理及应用 ——“十一五,国家级规划教材 28
11.1.5 窗口对象的函数
作用于窗口对象的函数有多个。其中:
1,Open()
打开函数中指定名字的窗口。例如:
//打开主窗口
open(w_main)
//打开口令校验窗口
open(w_pass)
2,OpenSheet()
在 MDI窗口中打开一个工作表窗口。例如:
//在 w_main窗口框架中打开原始大小的初始化窗口 w_ini。
OpenSheet(w_ini,w_main,4,Original!)
//设置 w_ini窗口的控件和属性
w_ini.cb_finish.visible = false
w_ini.title =,发票号码初始化输入窗口 "
数据库原理及应用 ——“十一五,国家级规划教材 29
11.1.5 窗口对象的函数
3,OpenWithParm()
打开一个窗口,并传递一个参数值到该窗口。
4,OpenSheetWithParm()
打开一个 MDI方式的工作表窗口,并传递一个参数值。
5,ClassName()
返回窗口名称。例如:
st_name.text = classname( )
6,Close()
关闭一个窗口对象,并放弃所占有的资源。
数据库原理及应用 ——“十一五,国家级规划教材 30
11.1.5 窗口对象的函数
7,ParwentWindow()
返回指定窗口的父窗口。
8,Resize()
改变窗口对象或控件的大小。
9,Show()
使得窗口可视。例如,w_ini.show()
10,Hide()
隐藏窗口。例如,w_ini.hide()
11,SetMicroHelp()
仅可用于 MDI Frame窗口,用于设置 MicroHelp信息,例如:
W_main.SetMicroHelp("删除选定文本 ")
数据库原理及应用 ——“十一五,国家级规划教材 31
11.2 主窗口的设计
11.2.1 主窗口的设计方法
主窗口是一个系统运行的主要框架,是用户和系统进行交互操作的界面,主窗口内需要包含的功能模块很多,这些功能模块大多以主菜单的形式挂接在主窗口下。主窗口设计的目标是:按照操 作系统下软件的一般界面风格以及用户的操作习惯进行设计。
主窗口设计一般按照下面步骤进行:
1.确定主窗口的整体显示风格,由用户、软件设计人员和美工人员共同完成。
2.确定主窗口应具备的功能,在充分和用户沟通的基础之上,确定菜单的构成,系统设计的全局变量的定义,窗口打开时需要处 理的数据库问题,以及各种出发事件等等。
3.把主窗口和设计好的主菜单相关联。
数据库原理及应用 ——“十一五,国家级规划教材 32
11.2 主窗口的设计
11.2.2 主窗口的设计实例
本系统所设计的主窗口是按照 mdihelp!模式设计的,具体的属性设置参见图 11-3。
在本系统中,涉及定义的几个全局变量见图 11-7。
数据库原理及应用 ——“十一五,国家级规划教材 33
11.3 登录窗口的设计
登录窗口一般需要为用户提供一个身份验证的界面,主要包括用户填写 ID和密码的单行编辑器,有的为了美观加入了一个 Picture控件,调用图片进行美化设计。本系统采用的登录窗口设计如图 11-
8所示。
数据库原理及应用 ——“十一五,国家级规划教材 34
11.3 登录窗口的设计
Da taW in d o w 数据窗口控件,
选择操作人帐号
S in g leL in e Ed it 控件
sle _ p a s,
输入密码数据库原理及应用 ——“十一五,国家级规划教材 35
11.3 登录窗口的设计
该窗口的各种属性设置见表 11-2。
对象或控件名称 属性 设置值窗口 w_logo Title 登录窗口窗口 w_logo ControlMenu √
窗口 w_logo WindowsType response!
Picture控件 p_1 PictureName D:\fpgl\网络科技 1.bmp
StaticText控件 st_id Text 账号:
StaticText控件 st_pas Text 密码:
DataWindow控件 dw_id DataObject d_kpr
SingleLineEdit控件 sle_pas Password √
CommandButton控件 cb_enter text 确定
CommandButton控件 cb_cancel text 取消数据库原理及应用 ——“十一五,国家级规划教材 36
11.3 登录窗口的设计
系统登录窗口的主要作用就是用户输入帐户和密码后,
当用户鼠标单击“确定”按钮时,将用户输入的信息和数据库中保存的帐号密码进行对比验证。当考虑安全时,用户的密码应该以加密算法的形式存入数据库中,当取出密码时,再以解密算法将其取出并和用户的输入密码进行比较。本系统由于是入门教学用,密码操作没有采用加密、解密,有兴趣者可以参考其它资料。
cb_enter控件中的 click事件的程序代码如下,完成的是将用户输入的帐号、密码和数据库中保存的进行比较。
数据库原理及应用 ——“十一五,国家级规划教材 37
11.3 登录窗口的设计
//cb_enter控件中的 click事件的程序代码
string user_pass //定义存储用户密码字符串变量
user_id = dw_id.getitemstring(dw_id.getrow(),1)//从帐号控件中取得操作者选择帐号
IF user_id <> "管理员 " THEN //
如果帐号不是管理员,使用 SQL查询语句将和输入帐号匹配的
//密码从数据库中取出来,送入变量 user_pass
SELECT kpr.pass
INTO,user_pass
FROM kpr
WHERE kpr.id =,user_id;
数据库原理及应用 ——“十一五,国家级规划教材 38
11.3 登录窗口的设计
IF user_pass = sle_pas.text THEN //将数据库保存的密码和用户输入密码和比较
close(w_logo) //关闭登陆窗口
open(w_main) //打开主界面窗口
ELSE
Messagebox("警告 ","密码输入错误,请重新输入 ")//
比较结果不对,提示用户
sle_pas.text = ""
sle_pas.setfocus()
END IF
ELSE
Messagebox("警告 ","管理员不能开票 ")
dw_id.setfocus()
END IF
数据库原理及应用 ——“十一五,国家级规划教材 39
11.4 窗口的控件
控件用于在设计窗口、可视化用户对象和数据窗口对象时,增强其功能的图形化的对象。在窗口及可视化用户对象中的控件有很多事件,
用于触发脚本程序执行或函数调用。
控件是窗口中最重要的组成部分。在 PB中,窗口只是一个平台,这个平台上的控件才是实现窗口的各种操作,与用户进行交互的关键对象。
PowerBuilder提供了三十多个控件,供用户使用。
数据库原理及应用 ——“十一五,国家级规划教材 40
11.4 窗口的控件
11.4.1 窗口中控件的添加与删除
1.窗口中控件的添加
在窗口中添加控件的方法通常如下:参见图 11-9。
单击工具栏中的窗口控件按钮,打开所有控件。
选择要添加的控件按钮图标。
单击 【 Layout】 子窗口工作区的适当位置,即可看到所选择的控件,同时在属性子窗口中也显示该控件的属性。
也可以采取下列步骤添加控件:
选择 【 Insert】 下拉菜单中的 【 Control】 选项,打开控件列表。
选择要添加的控件名称。
单击 【 Layout】 子窗口工作区的需要放置控件的位置。
数据库原理及应用 ——“十一五,国家级规划教材 41
11.4 窗口的控件控件工具栏窗口中的单行编辑器控件图 11-9 窗口中的控件工具栏数据库原理及应用 ——“十一五,国家级规划教材 42
11.4 窗口的控件数据库原理及应用 ——“十一五,国家级规划教材 43
11.4 窗口的控件
2.窗口中控件的删除
在欲删除的控件之上单击鼠标右键,PB
显示弹出菜单,选择 【 Delete】 选项,即可删除所选控件。
数据库原理及应用 ——“十一五,国家级规划教材 44
11.4 窗口的控件
11.4.2 调整控件及其布局
1.复制控件
复制控件是复制出一个形状相同、位置相同的控件,
PB自动为其命名,新的控件与原来的控件重叠,拖动后方可看到两个控件。拷贝控件的同时也拷贝了原来控件的脚本。步骤如下:
右击要拷贝的控件,在弹出菜单中选择 【 Copy】 选项,
或者选择控件后按 Ctrl+C组合键。
右击目标位置,在弹出菜单中选择 【 Paste】 选项,PB
显示 【 Paste Control Name Conflict】 对话框,提示用户键入粘贴控件的名称。
键入控件的名称后单击 【 OK】 按钮。
数据库原理及应用 ——“十一五,国家级规划教材 45
11.4 窗口的控件
2.选择多个控件
为调整多个控件之间的距离、对齐、大小等,
应选择多个控件,方法有两种,分别是:
选择第一个控件,按住 Ctrl键,单击要选择的其它控件。
用鼠标器在要选择的控件之外拖拽,随着拖拽会有一实线框,实线框所框住的控件即被选中。
在选择控件时一定要注意控件的顺序,因为在调整时以第一个控件为基准。
数据库原理及应用 ——“十一五,国家级规划教材 46
11.4 窗口的控件
3.控件对齐
按照控件 1,2,3,… 的顺序选择一组控件。
单击工具栏中的 【 Align】 下拉命令按钮,打开对齐命令图标;或者单击 【 Format】 菜单,选择 【 Align】 选项,PB显示前六种对齐命令。
单击工具栏中的,Align top edges to first
selected”钮,表示以第一个控件为准顶部对齐。
数据库原理及应用 ——“十一五,国家级规划教材 47
11.4 窗口的控件
4.调整控件的大小
调整控件的大小就是使选择的控件与第一个控件的高度、宽度或大小相等。使用的命令分别是:
Make all widths sames as to first selected:使选择的控件与第一个控件宽度相同。
Make all heights same as to first selected:使选择的控件与第一个控件高度相同。
Make all widths and heights same as to first selected:使选择的控件与第一个控件宽度和高度相同。
数据库原理及应用 ——“十一五,国家级规划教材 48
11.4 窗口的控件
5.调整间距
调整控件间距的大小是使所有选择的控件之间的距离与第一个和第二个控件之间的距离相等,分别为垂直方向间距和水平方向间距。使用的命令分别是:
Space evenly horizontally:使水平方向的间距均等。
Space evenly vertically:使垂直方向的间距均等。
调整控件的对齐、大小和间距也可以通过工具栏中的
Align按钮组中的按钮实现。见图 11-10。
数据库原理及应用 ——“十一五,国家级规划教材 49
11.4 窗口的控件
图 11-10 控件调整工具按钮组对齐按钮间距调整按钮长宽调整按钮数据库原理及应用 ——“十一五,国家级规划教材 50
11.4 窗口的控件
在窗口中放置了多个控件之后,PB为各控件指定缺省的 Tab顺序。 Tab顺序即当用户按 Tab键时,焦点在控件之间缺省的跳转顺序。控件的 Tab标志示意见图 11-
11。
数据库原理及应用 ——“十一五,国家级规划教材 51
11.4 窗口的控件
改变控件的 Tab顺序,执行如下操作:
选择 【 Format】 下拉菜单中的 【 Tab order】 选项(或是单击工具栏上的按钮),PB显示当前缺省 Tab顺序,
图中控件右上角的红色数字。
定位光标到要修改 Tab顺序的控件处。
键入新的 Tab值。为 0时,表示 Tab顺序中不包括该控件
(即跳过)。
依次操作,直到修改所有控件的 Tab顺序。
选择 【 Format】 下拉菜单中的 【 Tab order】 选项(或是单击工具栏上的按钮),主窗口恢复正常状态。
数据库原理及应用 ——“十一五,国家级规划教材 52
11.5 控件的使用方法
11.5.1 控件的命名
PB中对各种控件的命名方法有默认的规定,在学习时一定要按照此规定养成良好的命名习惯,
以便增加程序的可读性。
PB中的控件有标准命名前缀方法,打开一个窗口对象,在菜单栏依次单击菜单 【 Design】 中的 【 Options… 】,在打开的对话框中查看
【 Prefix 1】,【 Prefix 2】 中的内容。见图 11-
12列出了 【 Prefix 1】 的内容,也可以在此对话框中修改命名前缀。
数据库原理及应用 ——“十一五,国家级规划教材 53
11.5 控件的使用方法
图 11-12 控件的标准命名前缀数据库原理及应用 ——“十一五,国家级规划教材 54
11.5 控件的使用方法
11.5.2 控件的共同属性
1,Enabled属性
Enabled属性值为一个逻辑型值,用于决定该控件是否可用。当控件的 Enabled属性值为 True时,该控件是活动状态,它可以响应事件。
当控件的 Enabled属性值为 False时,PB将灰化该控件,
以禁止用户使用。在 SingleLineEdit,MultiLineEdit以及
CommandButton等控件中如果有文字,则这些文字将变成为灰色。如果要将某个控件设置为不可用,则可以使用此属性。如果要显示某个控件,但其不是活动状态,则不要使用 Enabled属性。
数据库原理及应用 ——“十一五,国家级规划教材 55
11.5 控件的使用方法
2,Visible属性
Visible属性是一个逻辑型值,用于决定控件是否可视。当控件的 Visible属性值为 True时,该控件为可视; Visible属性为 False时,控件不可视并且不可用。
如果将某个控件的 Visible属性值设置为 False,
要在程序执行时显示该控件,可在脚本中将
True赋给 Visible属性,例如:
Controlname.Visible = True
数据库原理及应用 ——“十一五,国家级规划教材 56
11.5 控件的使用方法
3.设置控件颜色
设置控件的颜色的步骤如下:
选择要改变颜色的控件。
单击窗口工具栏中 下拉按钮,选择所需前景颜色。
单击窗口工具栏中 下拉按钮,选择所需背景色。
部分控件的前景、背景色不可更改,如
CommandButton控件。也不要使用通过设置控件的颜色的方法来改变窗口本身的颜色。
数据库原理及应用 ——“十一五,国家级规划教材 57
11.5 控件的使用方法
部分控件的前景、背景色不可更改,如 CommandButton控件。
也不要使用通过设置控件的颜色的方法来改变窗口本身的颜色。
除了使用 PB提供的颜色以外,用户也可以定制用于窗口对象以及数据窗口对象中的颜色。步骤如下:
选择 【 Design】 下拉菜单中的 【 Custom Colors】 选项,PB显示 【 颜色 】 对话框。
要选择一个当前的颜色或创建新的颜色,从一个基础颜色开始,拖动颜色指示器,在调色板中调制合适的颜色。也可以通过指定精确的数值设置该颜色。
单击 【 添加到自定义颜色 】 按钮,新颜色将添加到 【 自定义颜色 】 清单中。
选择 【 自定义颜色 】 清单中新定义的颜色。
单击 【 确定 】 按钮,PB将新颜色添加到 【 Color】 工具栏中,
该颜色标明 【 C】,当用户创建新的窗口,用户对象以及数据窗口等对象时均可以使用。如图 11-13所示。
数据库原理及应用 ——“十一五,国家级规划教材 58
11.5 控件的使用方法
4.设置 3D(三维)外观
当前的应用程序通常都具有三维的外观。为窗口中的控件选择三维的边框,并将窗口颜色设置为银灰色,即可达到三维视觉的效果。
设置 PB缺省 3D效果的步骤如下:
选择 【 Design】 下拉菜单中的 【 Options】 选项,
PB显示 【 Options】 对话框。
在 【 General】 选项卡中,选择 【 Default to 3D】
复选框。
单击 【 OK】 按钮。
数据库原理及应用 ——“十一五,国家级规划教材 59
11.5 控件的使用方法
11.5.3 控件的基本类型
( 1)激活动作的控件:例如 CommandButton(命令按钮)和 PictureButton(图像命令按钮)。
( 2)显示数据的控件:例如 ListBox(列表框)、
DropDownListBox(下拉列表框)和 DataWindow(数据窗口)等。
( 3)显示选择状态的控件:例如 RadioButton(单选按钮)和 CheckBox(复选框)等,可以用 GroupBox(分组框)分组这些控件。
( 4)起修饰作用的控件:例如,Line(线),Oval
(椭圆)等。这些控件用于在窗口上绘图。
( 5)支持 Internet功能的控件:例如,StaticHyperLink
(静态超链)。
( 6)用户自定义控件。
数据库原理及应用 ——“十一五,国家级规划教材 60
11.5 控件的使用方法
11.5.4 CommandButton
CommandButton(命令按钮)控件是不加任何修饰的标准
Windows按钮,带有一个标题。 CommandButton用于执行操作,
即单击该按钮后执行一个特定的动作。见图 11-14。
缺省按钮属性 取消按钮属性属性设置数据库原理及应用 ——“十一五,国家级规划教材 61
11.5 控件的使用方法
1.属性
CommandButton控件是三维对象,不具有 Border(边框)
属性。其前景色和背景色与 Windows系统颜色相同,
不可改变,其中的文本对齐方式也不可改变。用户仅可在属性子窗口中改变其文本颜色。单击按钮时,自动显示为被按下的形式。它具有如下自己的属性:
Text:定义 CommandButton控件的标题,该属性允许设置快捷键。
Tag:允许用户键入字符串,作为控件附加信息。
Default和 Cancel:选择 【 Default】 (缺省)和 【 Cancel】
(取消)复选框可以分别指定一个按钮为缺省按钮,
或为取消按钮数据库原理及应用 ——“十一五,国家级规划教材 62
11.5 控件的使用方法
如果定义了缺省的 CommandButton控件,
则其四周显示黑框。当焦点不在该
CommandButton控件上时,按 Enter键相当于单击该按钮,即触发其 Clicked事件。
如果定义了一个取消 CommandButton控件,则按 Esc键相当于单击该按钮,即触发其 Clicked事件。
数据库原理及应用 ——“十一五,国家级规划教材 63
11.5 控件的使用方法
2.事件
CommandButton控件有多个事件,最重要的事件就是 Clicked事件,需要在此事件中编写单击按钮时要执行的脚本代码。例如下面程序段就是常用的保存数据的脚本。
if dw_1.Update() > 0 then //数据窗口 1更新数据成功,提交数据
commit;
else //数据窗口 1更新数据失败,回滚数据
messagebox("发票管理 ","对不起,无法对数据保存 !")
rollback;
end if
if dw_2.Update() > 0 then
commit;
else
messagebox(发票管理 ","对不起,无法对数据保存 !")
rollback;
end if
数据库原理及应用 ——“十一五,国家级规划教材 64
11.5 控件的使用方法
11.5.5 PictureButton
PictureButton(图形按钮)控件的功能与 CommandButton
控件的功能相似,除了具有文本标题外,它还可以指定显示在按钮上的 BMP,GIF,JPEG,WMF或者 RLE图形文件。可以指定在允许使用按钮时显示一幅图形,而在该按钮为无效状态时显示另一幅图形。当用户希望使用图形而不仅仅是文本表示一个按钮时,可以使用此按钮。
PictureButton控件还具有另外两个明显的优点:一是可以同时在水平和垂直方向上指定文本的对齐方式,二是可以使用多行标题。
PictureButton控件其特殊的属性如下:
PictureName:指定按钮为 Enabled状态时显示的图形文件名称。 PB8.0中可从下拉列表中或是指定目录中选取图形数据库原理及应用 ——“十一五,国家级规划教材 65
11.5 控件的使用方法
DisableName:指定按钮为 Disabled状态时显示的图形文件名称。图形选取方式同上
HTextAlign:按钮上文本的水平方向的对齐方式,有
Left,Center和 Right三个选项。
VTextAlign:按钮文本的垂直方向的对齐方式,有 Top、
Bottom,Vcenter和 Multiline等选项。 Multiline方式从按钮的顶部开始排列文本,然后依次用换行的方式排列。
OriginalSize:可以改变按钮的大小。选择后,按钮与位图原始大小相同。
该按钮最重要的事件也是 Clicked事件。需要为该事件编写单击时的脚本代码。
数据库原理及应用 ——“十一五,国家级规划教材 66
11.5 控件的使用方法
11.5.6 RadioButton
RadioButton(单选按钮)控件是用于打开或关闭一个选项的小圆按钮,通常成组地排列在一个分组框中。一组中的单选按钮协同工作,在每个分组框中仅可选择一个单选按钮。单选按钮总是用于多个互斥的选项。见图 11-15。
数据库原理及应用 ——“十一五,国家级规划教材 67
11.5 控件的使用方法单选按钮单选按钮的属性分组框数据库原理及应用 ——“十一五,国家级规划教材 68
11.5 控件的使用方法
单选按钮只用来表示某选项的状态,不可用其激活动作。打开窗口后,一个分组框中必须有一个单选按钮被选择。其特殊属性为:
Automatic:指定单击该按钮时,显示圆点,或在
Clicked事件中处理。当单选按钮处于一个分组框中时,
忽略 Automatic属性。
LeftText:将文本显示在按钮的左边。
Checked:选择该按钮作为缺省值。用户也可以在窗口的 Open事件中处理。
BorderStyle:边框。有 StyleLowered(三维凹陷)、
StyleRaised(三维上凸)两种选择。
数据库原理及应用 ——“十一五,国家级规划教材 69
11.5 控件的使用方法
11.5.7 GroupBox
GroupBox(分组框)和 RadioButton控件结合使用比其它任何控件都更加美观。
因为一组中只有一个按钮可以被选择,
所以如何分组窗口中的按钮十分重要。
见图 11-15。
数据库原理及应用 ——“十一五,国家级规划教材 70
11.5 控件的使用方法
11.5.8 CheckBox
CheckBox(复选框)控件用来设置独立的选项,表示是 /否状态,选择后显示为,否则为 。
其特殊属性如下:
Checked:此属性值为 True时,选择复选框。
ThreeState:表示 CheckBox的第三种状态,显示为 。
ThirdState:是否将第三种状态作为缺省状态。
CheckBox之间是相互独立的,也可以将多个 CheckBox
放在一个分组框内,使窗口更加美观。
数据库原理及应用 ——“十一五,国家级规划教材 71
11.5 控件的使用方法
11.5.9 ListBox和 ListPictureBox
ListBox(列表框)和 ListPictureBox(图形列表框)控件是在一个具有滚动条的矩形框中显示多行文本,常用于双击其中的一个选项时,触发某种事件。二者区别为,后者的属性中多了一个 Picture标签页,用于设置列表项之前的图标。 ListBox控件既可显示数据,也可以激活动作。见图 11-16。
数据库原理及应用 ——“十一五,国家级规划教材 72
11.5 控件的使用方法
图 11-16 下拉列表框示意图
G ene r al 属性页列表框和图形列表框
I t e m s 属性页 图形列表框 P i ct ur es 属性页数据库原理及应用 ——“十一五,国家级规划教材 73
11.5 控件的使用方法数据库原理及应用 ——“十一五,国家级规划教材 74
11.5 控件的使用方法
1,General属性页
【 General】 属性页中的属性如下:
Sorted:选择后,排序列表框中的选项。
HScrollBar和 VScrollBar:指定在需要时是否显示相应的滚动条。
VScrollBar比较常用,HScrollBar不常用。
DisableNoScroll:总是显示滚动条,但是当列表框中的内容均可以显示时,滚动条为 Disable。关闭该选项,则显示的选项大于列表框的显示范围时显示滚动条。其缺省值为关闭。
ExtendedSelect:选择后,允许选择列表框中的多项。
MultiSelect:指定是否允许选择多项。选择后,单击每一项即可选择多行。如果同时选择 ExtendedSelect和 MultiSelect属性,那么
ExtendedSelect属性具有优先权。
TabStop:通过设置该项属性为列表框中的文本设置 Tab停顿,最多可以定义 16个 Tab停顿(缺省为每 8个字符一个 Tab停顿)。
数据库原理及应用 ——“十一五,国家级规划教材 75
11.5 控件的使用方法
2,Pictures属性页
【 Pictures】 属性页允许用户设置图形列表项前的图标。
此外也可以使用函数 AddPicture、和 DeletePicture在脚本中动态地为列表项加入图标。
3,Items属性页
【 Items】 属性页允许用户输入列表框中显示的列表项内容。
此外也可以使用函数 AddItem,InsertItem和 DeleteItem
在脚本中动态地填写列表框,并编辑其内容。
数据库原理及应用 ——“十一五,国家级规划教材 76
11.5 控件的使用方法
3.事件
ListBox常用的事件是 DoubleClicked和
SelectionChanged。
当用户选择某列表项并双击时产生
DoubleClicked事件。如果希望当用户双击某列表项时执行相应的操作,必须为该控件的
DoubleClicked事件编写脚本。
SelectionChanged事件在用户选择列表框中的列表项时触发。用户在执行应用程序期间选择一个新的列表项内容,处理一些操作时可使用此事件。
数据库原理及应用 ——“十一五,国家级规划教材 77
11.5 控件的使用方法
4.函数
窗口对象中的很多控件都具有相同的函数,介绍函数使用方法最 全面、最完整的资料就是 PowerBuilder 提供的在线帮助,所有函数的具体使用方法都可以直接从中找到,读者应学会从这些在线帮 助中查找所用函数的使用技巧。
ListBox控件可以使用的函数很多,AddItem(),DeleteItem()、
InsertItem(),FindItem()等函数。
AddItem函数用于在列表项的尾部追加一个新的列表项,如果该控件的 Sorted属性设置为 True,则新的列表项被插入后重新排序所有列表项。 InsertItem()用于在指定列表项的索引号之前项插入一个新的列表项,下面为这两个函数的使用脚本:
//在职称列表框的后边添加助理工程师
lb_zhicheng.AddItem(“助理工程师” )
//在职称列表框的教授后边添加高级工程师
lb_zhicheng.InsertItem(“高级工程师”,2)
数据库原理及应用 ——“十一五,国家级规划教材 78
11.5 控件的使用方法
11.5.10 SinglelineEdit
SinglelineEdit(单行编辑框)控件与
StaticText的区别是,当应用程序运行时,
该控件具有编辑功能。一般用于数据的输入和输出,例如要求用户输入用户名和口令。见图 11-17。
数据库原理及应用 ——“十一五,国家级规划教材 79
11.5 控件的使用方法数据库原理及应用 ——“十一五,国家级规划教材 80
11.5 控件的使用方法
1,SinglelineEdit属性
该控件的特殊属性如下:
Text:允许输入作为缺省值显示的文本。运行时可在程序中设置该属性。
DisplayOnly:选择后,该控件仅可用于显示不可编辑。
AutoScroll:选择后,允许输入较 SinglelineEdit实际长度更长的文本。当长度超过控件可显示宽度时,文本自动向左滚动。
Password:此属性选定后,在单行编辑框中显示,*”号而不是实际输入的字符。该属性通常用于用户输入密码。
HideSelection:缺省为选择。当未被选择时,即使编辑框失去焦点,也高亮显示选定的文本。选择此属性以保证只有在获得输入焦点时高亮显示选定文本。
TextCase:设置在编辑框中可以键入的文本为大写字符还是小写字符。
Limit:指定在编辑框中可键入的字符数,其取值范围是 0-32767,若取值为
0,则表示没有限制。
Accelerator:为该控件指定快捷键,使用该属性可以使用户快速获取焦点。
数据库原理及应用 ——“十一五,国家级规划教材 81
11.5 控件的使用方法
2.单行编辑框常用事件
( 1) Modified事件:
可有效检查键入的文本。如果修改了该控件的编辑框,在移走当前焦点时,触发该事件。在该事件中可以编写脚本,通过取出该 控件的 Text属性验证其内容,执行有效性检查。
例如下面这段脚本用于检查单行编辑器中输入的是否为数字 0-9。
IF sle_a.text < '0' or sle_a.text > '9' THEN
MessageBox("信息 ","请输入 0-9数字 ",Information!,OK!)
END IF
( 2) GetFocus:用 Tab键或鼠标单击进入该控件的编辑框时,触发该事件。
( 3) LoseFocus:用 Tab键离开该控件或者鼠标单击其它控件时,
触发该事件。
数据库原理及应用 ——“十一五,国家级规划教材 82
11.5 控件的使用方法
11.5.11 MultiLineEdit
MultiLineEdit(多行编辑框)控件可以在其中输入多行文本,如注释信息、
备注字段等的编辑框。功能与 SinglelineEdit相似。在其属性中增加了滚动条。
1.属性
除了 AutoHScroll属性之外,MultiLineEdit控件还具有 AutoVScroll、
HScrollBar和 VScrollBar属性。可以组合多个属性,对象更佳的观感效果,
组合过程中,可以使用预览模式检验。
Alignment属性可以在 MultiLineEdit中使用 Left!(左对齐),Right!(右对齐)和 Center!(居中)三种对齐方式。但只有在左对齐方式下方可使用 HScrollBar属性。对于其它对齐方式,HScrollBar属性不起作用。
TabStop属性定义 Tab键停的位置。在缺省情况下,Tab键是每隔 8个字符停一下。如果输入一个正整数 n,那么 Tab键每隔 n个字符停顿一下。
2.事件
MultiLineEdit的常用事件为 Modified,GetFocus和,LoseFocus,其用法与
SinglelineEdit相同。
数据库原理及应用 ——“十一五,国家级规划教材 83
11.5 控件的使用方法数据库原理及应用 ——“十一五,国家级规划教材 84
11.5 控件的使用方法
11.5.12 EditMask
EditMask(掩码编辑框)控件是一种多功能的单行编辑框。可以用其创建一个掩码,便于用户输入合法的有效的字符,并且可格式化 输入的字符为标准格式。该控件属性的 【 Mask】 属性页如图 11-18
所示。
用户可以使用 PB提供的掩码,也可以自己创建掩码。有时需要输入有固定格式的数据。
固定显示 7 位数字的掩码编辑框带有自动增量功能的掩码编辑框掩码属性标签页设置日期格式选择日期掩码格式数据库原理及应用 ——“十一五,国家级规划教材 85
11.5 控件的使用方法 EditMask
1.属性
( 1) Mask和 MaskDataType
如果使用 PB提供的掩码格式,需要将这两个属性配合在一起使用。
例如,要选择一个日期的掩码格式,操作步骤如下:
在 MaskDataType下拉列表框中选择 【 datemask!】 数据类型。
单击 Mask旁边的按钮,选择适当的格式,或直接在此编辑框中输入需要的合法格式。
( 2) Spin
属性允许用户使用自动增量的功能。选择该属性,然后在 【 Increment】 (增量)编辑框中输入一个增量步长,在 【 Max】
编辑框中输入一个最大值,在 【 Min】 编辑框中输入一个最小值后,在编辑框旁显示两个包含上箭头和下箭头的小按钮。单击上 箭头按钮增加一个单位,单击下箭头按钮减少一个单位。
数据库原理及应用 ——“十一五,国家级规划教材 86
11.5 控件的使用方法 EditMask
( 3) UseCodeTable
选择 Spin属性后,选择 UseCodeTable后,将使用 DisplayData下的代码表校验数据。
( 4) AutoSkip
此属性设置当按掩码格式输入字符后,焦点是自动跳到下一个控件还是停止不动。
2.事件
Modified,GetFocus和 LoseFocus是掩码编辑框的常用事件,其用法与单行编辑框相同。
数据库原理及应用 ——“十一五,国家级规划教材 87
11.5 控件的使用方法
11.5.13 DropDownListBox和 DropDownPictureListBox
DropDownListBox(下拉列表框)和
DropDownPictureListBox(下拉图形列表框)控件也称为组合框控件,二者区别为,后者的属性中多了一个
Pictures标签页,用于设置列表项之前的图标。由于其组合了单行编辑器和列表框的特性,所以是一个使用非常方便的控件。重要的属性为。
AllowEdit:选择后,允许用户在编辑框中编辑。
ShowList:选择后,下拉列表框仅用于列表显示,不具备下拉功能。
该控件的常用事件是 Modofled,GetFocus和 LoseFocus,
使用方法同前面控件。
数据库原理及应用 ——“十一五,国家级规划教材 88
11.5 控件的使用方法
11.5.14 StaticText
StaticText(静态编辑框)控件是静态的,在程序运行时用户不可编辑其属性,但可以使用脚本修改。其作用是标识其它的控件。
其常用属性为:
DisabledLook:选择后,当 Enable属性为 False时,控件的文本变为灰色。
FocusRectangle:指定当控件具有输入焦点时,是否在其外面显示一个矩形框。
Border,StaticText控件的边框类型,选择后,
BorderStyle项才有意义。
数据库原理及应用 ——“十一五,国家级规划教材 89
11.5 控件的使用方法
11.5.15 RichTextEdit
RichTextEdit(超文本编辑框)控件是一种功能非常强大的文本输入工具,可以使用 Windows支持的各种字体、字号和颜色。它还有一组完整的格式化工具以及自己的工具按钮栏和标尺栏,是一个控件级的 Windows字处理器。
数据库原理及应用 ——“十一五,国家级规划教材 90
11.5 控件的使用方法
RichTextEdit
1,General属性页
通过设置 RichTextEdit控件的如图所示的
General属性页可以改变该控件的外观。其中:
Resizable:选择该选项,可以在程序运行中改变控件的尺寸。
HScrollBar:显示水平滚动条。
VscrollBar:显示垂直滚动条。
如果未设置滚动条,则可以使用光标在编辑框中滚动。
数据库原理及应用 ——“十一五,国家级规划教材 91
11.5 控件的使用方法
RichTextEdit
2,Document属性页
DocumentName:定义编辑框中列出的文本名称,该名称是打印该控件内容时,打印队列中所用的名称。
RulerBar:显示 Ruler工具栏。
ToolBar:显示 TooL工具栏。
HeaderFooter:指定文挡的页眉和页脚。该项属性仅可在设计时设定,在应用程序运行过程中不可更改。
如果未选择,即使用户的文挡中有页眉和页脚,在该控件中也不可显示。
PopupMenu:选择此属性可使该控件有一个弹出式菜单。
数据库原理及应用 ——“十一五,国家级规划教材 92
11.5 控件的使用方法
RichTextEdit
PopupMenu:选择此属性可使该控件有一个弹出式菜单。
设置弹出式菜单之后,在运行窗口时,右击该控件则显示该菜单。利用弹出式菜单可以完成下列工作:
编辑:利用 Cut,Copy,Paste,Clear等选项,可剪切、
复制、粘贴以及清除所选文本内容。
导入文件:使用 Insert File选项,可插入一个文本到该控件的编辑框中。
显示和修改控件的属性:选择 Properties选项之后,显示该控件的属性对话框。
数据库原理及应用 ——“十一五,国家级规划教材 93
11.5 控件的使用方法
RichTextEdit
3.其它属性
此外还有如下多个 Visible属性,可以使用户看到通常情况下看不到的控制字符:
ReturnsVisible:显示换行符。
SpacesVisible:显示空格。
TabsVisible:显示 Tab符号。
InputFieldsVisible:显示编辑框的值。
InputFieldNamesVisible,显示编辑框名。
WordWrap:自动换行。
PicturesAsFrame:选择后,该控件使用的位图显示一个空白框,
否则正常显示。
DisplayOnly:选择后,该控件仅可用于显示,不可编辑。
UndoDepth:编辑时,可以执行 Undo操作的次数。
数据库原理及应用 ——“十一五,国家级规划教材 94
11.5 控件的使用方法
11.5.16 Tab
一个 Tab(标签页)控件可以包含多个标签页,在每个标签页中还可放置其它的控件。 Tab控件的优点是可以在很小的空间中组织、放置大量的信息。放置了一个基本的 Tab控件的窗口,如图 11-19所示。
T ab 标 签 页
Gene r al 属性 T ab 1 标 签 页
T ab Pag e 属性数据库原理及应用 ——“十一五,国家级规划教材 95
11.5 控件的使用方法 -Tab
1.添加选项卡
Tab控件由多个标签页组成,用户可根据实际需要,在其中添加各种控件,包括 Tab控件。
方法如下:
在窗口上放置一个 Tab控件。
右击 Tab控件的顶部,PB弹出菜单。
选择 【 Insert TabPage】 选项,添加一个新的标签页。
在新增的标签页中放置其它控件。
数据库原理及应用 ——“十一五,国家级规划教材 96
11.5 控件的使用方法 -Tab
2.属性
PictureOnRight:为标签页标题设置的图标显示在文本的右边。
PowerTips:标签页可以显示气泡帮助信息。
FixedWidth:确定标签卡的宽度是否固定。
FocusOnButtonDown:决定当取得焦点时是否显示虚框。
ShowText:确定个标签页是否显示文本标题。
ShowPicture:确定各标签页是否显示图标。
Perpendicular Text:选择后则文本信息将以竖排版形式显示。
MultiLine:决定标签页的文本是否可以使用多行显示。
RaggedRight:决定标签页的是否可伸展到窗口的右边框。
BoldSelectedText:是否可用粗体显示当前选择的标签页文本。
CreateOnDemand:选择后,可为用户提供在运行时添加新标签页的功能。
SelectedTab:指定首先显示哪个标签页。数字表示标签页的索引号。
TabPosition:确定标签页放置在窗口位置,包括上边、下边、左边、右边或其它组合。
数据库原理及应用 ——“十一五,国家级规划教材 97
11.5 控件的使用方法 -Tab
3,TabPage属性
鼠标器单击标签页面位置,属性窗口中显示相应的 TabPage属性。
PowerTipText:键入气泡帮助信息的内容。
PictureName:选择 PB提供的图标或指定图标文件的路径。
PictureMaskColor:指定在该图标中那种颜色是透明的。
数据库原理及应用 ——“十一五,国家级规划教材 98
11.5 控件的使用方法 -Tab
4.事件
Tab控件的常用事件有:
SelectionChanging和 SelectionChanged事件:两个事件分别发生在选择一个新标签页之前和之后。这两个事件当前标签页的索引号均由 OldIndex参数指定,
NewIndex参数为要选择标签页的索引号。
数据库原理及应用 ——“十一五,国家级规划教材 99
11.5 控件的使用方法 -Tab
5.函数
用于 Tab控件的函数有:
OpenTab(),动态打开一个用户自定义对象作为标签页控件中的一个新的标签页。
OpenTabWithParm(),打开一个可视用户对象的同时传递一个参数,该参数保存在全局变量 Message对象中。
CloseTab(),关闭用 OpenTab()函数打开的标签页。
SelectTab(),选择一个标签页。
数据库原理及应用 ——“十一五,国家级规划教材 100
11.5 控件的使用方法
11.5.17 Drawing
PB提供了一组用于修饰窗口的绘图控件,其中包括:
Line(直线),Oval(椭圆),Rectangle(矩形)以及
RoundRectangle(圆角矩形)等。这些对象没有与之关联的事件,使用这些控件可使窗口功能更加清晰,或者用于分组窗口中的控件。
当将 Drawing(绘图)控件放入窗口时,它具有缺省的大小、形状和颜色,这些都可以通过设置属性改变。
大多数绘图控件都有如下的属性:
FillColor:指定图形填充的颜色。
FillPattern:指定不同类型的交叉影线。
LineColor:指定轮廓线的颜色和填充模式。
LineStyle:调整线的宽度或者控件轮廓线的宽度。
数据库原理及应用 ——“十一五,国家级规划教材 101
11.5 控件的使用方法
11.5.18 DataWindow
DataWindow(数据窗口)控件和数据窗口对象是两个完全不同的概念。 DataWindow控件作为一个控件,是数据窗口对象与应用程序的接口,
只有通过它,方可在应用程序中显示数据窗口对象。而数据窗口对象是与数据库连接的接口,
在数据窗口画板创建。参见图 11-20。
数据窗口控件数据窗口控件属性数据库原理及应用 ——“十一五,国家级规划教材 102
11.5 控件的使用方法
数据窗口控件常用属性是:
DataObject:选择数据窗口对象,方法是单击右边的省略号按钮,打开 【 Select Object】 对话框,选择所需的
DataWindows。
Title:为数据窗口控件添加标题,该属性要求选择 TitleBar,
当在一个窗口中有多个数据窗口时,这一功能可有效地显示数据窗口的内容。
ControlMenu:选择后,在数据窗口的右上角放置一个关闭按钮。
MaxBox和 MinBox:在标题栏中放置最大化和最小化按钮。
LiveScroll:选择后,当垂直滚动条上下滑动时,数据窗口对象中的数据也将随之移动。
HsplitScroll,水平划分数据窗口为两大部分,可以拖动分界线移到任意位置,并独立地水平移动这两个数据窗口。
数据库原理及应用 ——“十一五,国家级规划教材 103
11.5 控件的使用方法
11.5.19 OLE
可以在应用程序窗口中使用 OLE控件嵌入 OLE兼容的其它应用程序,也可以通过它在窗口中放置 OLE自定义控件。
在窗口中添加 OLE控件的方法是:
( 1)单击工具栏下拉按钮中的 OLE控件,或者选择 【 Insert】 下拉菜单中的 【 Control】 选项,然后选择 【 OLE】 选项,打开
【 Insert Object】 对话框。参见图 11-21。
该对话框共有三个属性页,分别用于创建新的 OLE控件、从文件打开或第三方提供的控件以及自定义控件。
OLE应用程序,OLE允许在用户在自己的应用程序中集成其它应用程序中的数据。
OLE自定义控件( OCX),OLE自定义控件是在 Windows95/98系统中创建控件的新标准。
数据库原理及应用 ——“十一五,国家级规划教材 104
11.5 控件的使用方法
图 11-21 OLE控件图示创建新的 OL E 控件 插入 OL E 控件注册新的控件删除左边列表中的的控件数据库原理及应用 ——“十一五,国家级规划教材 105
11.5 控件的使用方法 -OLE
( 2)如果要在窗口中插入 OLE自定义控件,则要注册新的控件,单击 【 Register
New按钮。如果要从列表框中取消一个控件,选择该控件后单击 【 Unregister】
按钮。
数据库原理及应用 ——“十一五,国家级规划教材 106
11.5 控件的使用方法 -OLE
( 3)如果要查看所选控件的详细信息,选择该控件后单击 【 Bowse】 按钮,PB显示 【 OLE
Object Browser】 (OLE对象浏览器)对话框。
其中显示该控件的属性、事件等详细信息。单击 【 OK】 按钮,结束查看。
( 4)如果要插入 OLE自定义控件,单击列表框中的一个控件,单击 【 OK】 按钮。
( 5)单击窗口中要放置该控件处。
在窗口中放置控件后,可以改变其大小或移动其位置。
数据库原理及应用 ——“十一五,国家级规划教材 107
11.5 控件的使用方法
OLE控件常用属性为:
Activation:确定激活 OLE控件方式。三种选择方式为
activateondoubleclick!(双击时),activateongetfocus!
(获取焦点时),activemanually!(人工激活,即在程序中通过调用 Activate()函数激活),参见图 11-22。
C al end er 控件 9.0
O L E 控件属性数据库原理及应用 ——“十一五,国家级规划教材 108
11.5 控件的使用方法 -OLE
DisplayType:指定在 OLE控件中显示 OLE对象的方式,三种选择的方式为 DisplayAsContent
(显示对象的真实内容),DisplayAsIcon(显示为一个图标),Displayasactivexdocument
(显示为一个 ActiveX文件)。
ContentsAllowed:确定在运行时调用 Insert()
函数的方式。三个选项为 Containsany! (使用任意方式),Containsembeddedonly!(采用嵌入方式),Containslinkedonly!(采用链接方式)。
数据库原理及应用 ——“十一五,国家级规划教材 109
11.5 控件的使用方法 -OLE
LinkUpdateOptions:确定 OLE控件中的链接对象的更新方式,两种选择方式为 Linkupdateartomatic!(自动更新)和 Linkupdatemanually!(人工更新)。如果选择第一种方式,打开链接对象后,只要有变化则自动更新。如果选择第二种方式,需要在脚本中编写相应的代码。
SizeMode:确定 OLE对象在 OLE控件中显示的尺寸方式,两种选择方式为 Clip!和 Stretch!。 Clip!方式以
OLE对象的原始尺寸显示,剪切大于 OLE控件部分。
Stretch!方式用 OLE控件尺寸调整 OLE对象的显示尺寸。
数据库原理及应用 ——“十一五,国家级规划教材 110
11.5 控件的使用方法
11.5.20 HtrackBar和 VtrackBar控件
这两个控件由滑动标记、尺寸及其刻度所组成,一个用于水平方向,一个用于垂直方向。
1.属性
这两个控件的属性基本含义相同,如下:
MiniPosition:确定滑动标记位于控件标尺左边界时的位置值,即最小值。
MaxPosition:确定滑动标记位于控件标尺右边界时的位置值,即最大值。
Position:确定滑动标记处于控件标尺上的位置,该值应在最大值和最小值之间。
TickFrequency:标尺刻度,即每刻度代表的标尺的增量。
Pagesize:确定在标尺上单击或按 PageUp和 PageDown键时滑动标记移动的刻度值,缺省设置为 MaxPosition与 MinPosition的差值被 5除后所得的商。
数据库原理及应用 ——“十一五,国家级规划教材 111
11.5 控件的使用方法 -HtrackBar
和 VtrackBar控件
LineSize:确定单击一次箭头键滑动标记移动的刻度值。如果将该属性设置为 1,表示每次移动一个标尺刻度。
SliderSize:设置标尺的刻度其缺省值为 0,一般不用更改。
TickMarks:指定滑动标记和刻度的显示方式,
包括 hticksontop!,hticksonbottom!、
hticksonboth!以及 hticksonneither!。
Slider:确定是否显示滑动标记,缺省为选择。
数据库原理及应用 ——“十一五,国家级规划教材 112
11.5 控件的使用方法 -HtrackBar
和 VtrackBar控件
2.事件
主要事件如下:
LineLeft:单击向左方向箭头键或向上方向箭头键时触发。
LineRight:单击向右方向箭头键或向下方向箭头键时触发。
Moved:当滑动标记移动时触发该事件。
PageLeft:当单击标尺的左边或上边或单击 PageUp键时触发该事件。
PageRight:当单击标尺的右边或下边或单击
PageDown键时触发该事件。
RbuttonDown:右击时触发该事件。
数据库原理及应用 ——“十一五,国家级规划教材 113
11.5 控件的使用方法
11.5.21 HprogressBar(水平进度条)和
VprogressBar(垂直进度条)控件
HprogressBar和 VprogressBar控件主要用于显示某一过程的进度状态,如常见的软件安装过程。
数据库原理及应用 ——“十一五,国家级规划教材 114
11.5 控件的使用方法
11.5.22 StaticHyperLink(静态超链)
PictureHyperLink(图形超链)控件
这两个控件专门为开发 Internet功能而设。
使用该属性,用户可以在应用程序运行时键入网址,链到一个 Web页面,访问
Internet网络资源。
数据库原理及应用 ——“十一五,国家级规划教材 115
11.5 控件的使用方法数据库原理及应用 ——“十一五,国家级规划教材 116
本章小结
本章主要介绍了窗口对象,重点将窗口对象上面的控件做了详细的使用说明。
窗口是 PowerBuilder中的可视对象,是应用程序和用户交流的主要界面,而窗口上的控件是用户在使用时和应用程序进行信息输入输出的主要手段。
熟练掌握窗口对象及其常用控件的属性、事件、
函数是进行可视化环境程序设计的关键,