收藏 分销(赏)

PB的窗口基础.doc

上传人:pc****0 文档编号:7233768 上传时间:2024-12-28 格式:DOC 页数:4 大小:23.50KB 下载积分:10 金币
下载 相关 举报
PB的窗口基础.doc_第1页
第1页 / 共4页
PB的窗口基础.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
window对象 【其他】 ■窗口画板的定制:Design-Options ■窗口类型:Main(可以使用菜单)、Child(不能使用菜单)、Response(如messagebox函数弹出的窗口,继续执行程序之前必须对其做出响应;不能使用菜单)、Popup(可以使用菜单)、MDI(必须有菜单)、DIHelp(必须有菜单) 【属性】 代码中修改属性:窗口名称.属性名称 = 属性值 ▲Title 窗口的标题 ▲Tag 和窗口相关的一个文本属性,可以理解成窗口的注释 ▲MenuName 和窗口相连的菜单 ▲Visible 窗口是否可见 ▲Enabled 确定窗口的功能是否可用 ▲TitleBar 确定窗口是否有标题栏 ▲ControlMenu、MaxBox、MinBox 三个属性确定在窗口的标题栏是否显示最大、最小以及关闭按钮 ▲ClientEdge 是否显示用户工作区边框 ▲PaletteWindow 该属性只用于Popup类型的窗口,确定是否显示标题栏图标和最大、最小按钮 ▲ContextHelp 只用在Response类型的窗口上。确定是否支持上下文帮助。如果支持就在窗口的右上角显示一个问号图标 ▲RightToLeft 确定由右到左的显示 ▲Center 窗口居中显示 ▲Resizable 决定窗口在运行时是否可以改变其大小 ▲Border 决定窗口是否有边框 ▲WindowType 确定窗口的类型 ▲BackColor 设置窗口的背景颜色 ▲MdiClientColor 用来确定MDI用户区的颜色 ▲Icon 用来设置窗口标题栏的图标 ▲HscrollBar、VscrollBar 是否需要显示水平或者垂直滚动条 ▲UnitsPerLine 用户在垂直滚动条上每次单击移动的PB单位数。默认为0,表示每次滚动窗口的1/100 ▲ColumnsPerPage 表示每页显示的列数,默认为0,表示显示10列 ▲LinesPerPage 表示每页显示的行数,默认为0,表示显示10行 ▲ToolBarVisible 工具条是否可见 ▲ToolBarAligment 确定工具条在窗口上的初始位置,有5个可用的枚举型取值:AlignAtBootom!(底部)、AlignAtLeft!(左)、AlignAtRight!(右)、AlignAtTop!(顶部)、Floating!(浮动) ▲ToolBarX、ToolBarY、ToolBarHeight、ToolBarWidth 用来设置当工具条浮动显示时工具条的起始位置及高宽。默认取值都是0 ▲X、Y、Width、Height、Pointer 设置窗口的真实坐标、宽高和鼠标的默认指针 ▲Control[] 该属性是一个保存窗口中所有对象的一个数组,在应用程序中只能读取该数组的属性,不能修改。使用该数组可以访问窗口中的所有对象,当要对窗口中的所有对象(或者大多数)都进行操作或者要查找窗口中的某种对象时,通常要使用该数组。 integer li_total,li_i object lobj_any li_total = upperbound(this.control[]) for li_i = 1 to li_total lobj_any = this.control[li_i].typeof() next ▲MenuId 窗口对象MenuId属性保存的是与窗口相联系的的菜单,是一Menu类型的属性。使用该属性可以继续引用Menu菜单的属性,访问菜单及其他的项目 messagebox("",this.menuid.text) //通过menuid引用菜单中的文字 【事件】 窗口中的事件触发顺序:Constructor-Open-Activate-CloseQuery-Close-Deconstructor ◆Activate和Deactivate Activate事件在窗口成为活动窗口之前、Open事件触发完后触发。该事件触发时,窗口Tab值最小的控件获得焦点,如果没有可视控件,则窗口获得焦点Deactivate事件在窗口失去焦点并且变为非活动状态时触发 ◆Open Open事件在窗口打开时触发。具体是窗口上所有控件已经构造完毕(即窗口上所有控件的Constructor事件已经完成),但是还没有被显示出来的时候。注意:在Open事件中,用来设置窗口刷新属性的函数SetRedraw()不可用 ◆Close和CloseQuery CloseQuery事件在Close事件触发之前发生,返回1,表示取消关闭动作;返回0,表示继续执行Close事件。 ◆Resize 该事件在窗口打开或者形状发生变化时触发。 参数newwidth、newheight是两个Integer类型的参数,用来获取改变后窗口的宽度和高度,以便和原来的宽度、高比较获取大小变化比例,用该比例对其他控件进行一定的调整。 可以在窗口的Resize事件中编写脚本,当用户调整窗口大小时,根据用户调整的比例对窗口上的控件大小进行调整。 首先定义两个实例变量用来保存调整之前的窗口大小,在窗口的Open事件中对这两个实例变量初始化,脚本如下: ii_width = This.width ii_height = This.height 然后在窗口的Resize事件中编写如下脚本: integer li_index dragobject ldo_all for li_index = 1 to upperbound(this.control[]) ldo_all = this.control[li_index] ldo_all.x = ldo_all.x * (newwidth / ii_width) ldo_all.y = ldo_all.y * (newheight / ii_height) ldo_all.width = ldo_all.width * (newwidth / ii_width) ldo_all.height = ldo_all.height * (newheight / ii_height) next ii_width = newwidth ii_height = newheight 【函数】 ★Open 该函数用来打开其他的窗口,触发窗口的Open事件 如果对同一个窗口连续两次调用Open函数,该窗口并不被打开两次,只是在第二次调用Open函数时再次触发该窗口Activate事件,要避免这种情况,可以将代码修改为: if not isvaild(w_main) then open(w_main) else w_main.bringtotop = true end if 如果希望打开相同的窗口多次,则要用窗口实例 ★Close 关闭窗口,释放窗口及其上面的控件所占用的内存空间,窗口的CloseQuery事件和Close事件触发 ★MessageBox MessageBox ( title, text {, icon {, button {, default } } } )
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服