首页 技术教程 实用代码 注册破解 正则表达式 网址导航 电子书籍

如何在PB中制作特殊形状数据窗口或按钮

sp; // // 测试用数据(窗口多边形) // // // ////////////////////////////////////////////////// long ll_x1, ll_x2, ll_x3 long ll_y1, ll_y2, ll_y3 long ll_handle ll_x1 = 4 ll_y1 = 4 ll_x2 = UnitsToPixels(parent.width, xunitstopixels!) - 4 ll_y2 = UnitsToPixels(parent.height, yunitstopixels!) - 4 ll_x3 = 250 ll_y3 = 250 ll_handle = CreateRoundRectRgn(ll_x1, ll_y1, ll_x2, ll_y2, ll_x3, ll_y3) SetwindowRgn(handle(parent), ll_handle, true) return 1 end event type st_1 from statictext within w_button integer x = 567 integer y = 200 integer width = 1207 integer height = 264 boolean bringtoto...
类别:程序开发 - PowerBuilder    查看:136    更新:2014-05-12

PB中下拉数据窗口联动的实现

  近日在开发过程中遇到使用下拉数据窗口的情况:数据表Data中有二列Dept_id(主管部门编码)、Unit_id(企业编码)的取值分别来自数据表Dept(主管部门)及Unit(企业基本情况),且要求选择某一主管部门后,能将该主管部门的所有企业显示出来以便选择。有关数据表的结构如下(已简化):表 名字段名类型长度关键字含义DataDept_idChar5否主管部门编码Unit_idChar9是企业编码NumNumeric7(无小数) 否上交金额DeptIdChar5是主管部门编码NameChar15否主管部门?/TD>UnitIdChar7是企业编码NameChar30否企业名称Dept_idChar5否主管部门编码  为实现这些要求,可将Data表的2个字段Dept_id、Unit_id设计为2个相关...
类别:程序开发 - PowerBuilder    查看:132    更新:2014-05-12

PowerBuilder数据窗口中记录颜色的隔层显示

  1. 前言  在PowerBuilder中数据窗口(DataWindow)技术可以说是PB的核心,以至于Sybase公司甚至为它申请了专利。对数据库中数据的所有操作几乎都是通过DataWindow对象来完成的,数据窗口对象创建的好坏直接影响到应用程序本身的优劣。  对于许多新接触PowerBuilder的程序员来说,DataWindow控件和DataWindow对象之间的差别常常让人混淆不清。其实,DataWindow控件就是一个类似于CheckBox、CommandButton控件的控件。而DataWindow对象则是用画板创建在PBL库中的对象。DataWindow控件相对于DataWindow对象来说就像是一个容器一样将之包含在控件里。  在实际使用过程中经常会用到的一些数据窗口的使用技巧。...
类别:程序开发 - PowerBuilder    查看:111    更新:2014-05-12

PB中实现数据窗口动态排序

在PowerBuilder中使用数据窗口检索到的数据往往是无序的,虽然可以通过设置Select语句实现排序的功能,但是数据窗口一旦生成都无法进行动态调整。笔者总结了在已经生成的数据窗口中实现动态排序的三种方法,现介绍给大家。 一、 准备工作 设计如图1所示的示例窗口。为了更好地比较三种不同的方法,dw—1中的数据来自两个表student和class。student表中包含四个字段sid(学号)、sname(姓名)、saddr(住址)和cid(班号),class表中包含两个字段cid(班号)和cname(班级名称)。 图1二、三种方法的源程序 三种方法中的“执行”按钮的代码分别为: 方法1:用SetSQLselect() string ls—oldsql,ls—newsql,ls—order ls...
类别:程序开发 - PowerBuilder    查看:118    更新:2014-05-12

PB中表的修改对数据窗口和报表的影响的解决办法

数据窗口(DataWindow)是PB最强大的功能之一,Datawindow是PB中获取专利技术的控件,它对数据的处理方法相当简洁,能处理各种显示格式和快速的报表制作能力。 深受PB开发者的喜爱。但一件产品不可能十全十美,DataWindow也有不少缺点,其中对datawindow的所关联的数据表的一些变动,可能就会使辛辛苦苦做出的数据录入、维护界面、报表得重新做,特别是复杂中国式的报表,是令许多开发人员头痛的事情,而在其它开发语言如Delphi就不会存在此类问题。现在采用原型模型的开发的不少,使得开发中表的修改变得比较平常,为了解决已做的报表、数据界面主体不必重做,下面提出一些解决的方法,希望能对碰到此类问题的开发人员有所帮助,同时...
类别:程序开发 - PowerBuilder    查看:118    更新:2014-05-10

PB用纯函数实现在数据窗口中模拟资源管理器鼠标单击动作动态排序,并显示排序箭头

//函数名:f_dwsort(datawindow fdw_dw,dwobject fdwo_dwo) return none//说明:用于在数据窗口中模拟资源管理器鼠标单击动作动态排序,并显示排序箭头//调用规则:在数据窗口控件clicked!中写入f_dwsort(this,dwo)//参数:fdw_dw datawindow// fdwo_dwo dwobject//返回值:无//autor:xiaoluoxy萧云String ls_clicked_pos,ls_col,ls_format,ls_tagLong ll_posstring ls_text,ls_column[]int li_ils_clicked_pos = fdwo_dwo.Namell_pos = Pos(ls_clicked_pos,'_t')If ll_pos >0 Then//设置排序ls_col = Left(ls_clicked_pos,ll_pos -1)ls_tag = fdwo_dwo.tagIf ls_tag = ls_col + "A" Thenfdwo_dwo.tag = ls_col + "D"...
类别:程序开发 - PowerBuilder    查看:126    更新:2014-05-10

PowerBuilder中实现数据窗口打印预览通用方法

  我们在文字处理过程中,常常在打印前要预览,以便控制打印效果,特别在数据打印中要有选择地打印页面,更需要预览。PowerBuilder提供了程序开发过程中的数据打印预览,下面介绍在程序应用中实现打印预览通用方法。主窗口示意图如下:打印预览窗口预览尺寸自定义 30% 50% 100% 200% 标尺一、上述W_preview窗口中各控件说明:1. 命令按钮控件(CommandButton)Cb_1: 用于数据窗口翻至首页。Cb_2: 用于数据窗口向上翻页。Cb_3: 用于数据窗口向下翻页。Cb_4: 用于数据窗口翻至尾页。Cb_5: 用于关闭打印预览数据窗口。2.复选框控件(CheckBox)Cbx_1:用于为预览数据窗口添加显示标尺。3.掩码编辑器控件(EditMask)Em_1:用于显示和改变...
类别:程序开发 - PowerBuilder    查看:117    更新:2014-05-10

利用PB动态创建数据窗口

  当利用PowerBuilder建立数据窗口时,用户通常不能自己选择数据来源和显示类型。如何让用户在应用程序中自己定义数据窗口的数据来源和显示类型呢?为了达到这个目的,我们必须在运行程序阶段根据用户自己的需求,动态地建立一个数据窗口。笔者将结合实际,详细介绍动态创建数据窗口的步骤。   在建立动态数据窗口之前,必须先得到数据窗口对象的语法,PB中为我们提供了SyntaxFromSQL( )函数,利用这个函数可以得到建立数据窗口的语法。SyntaxFromSQL()函数的基本格式如下:   事物对象.SyntaxFromSQL(数据来源字符串,显示类型字符串,错误字符串)   下面是建立一个数据窗口对象语法的范例∶   // 声明变量   ...
类别:程序开发 - PowerBuilder    查看:107    更新:2014-05-10

PowerBuilder数据窗口编程技巧

  PowerBuilder取得巨大成就的原因就是有Datawindow对象,DataWindow是具有功能强大和灵活多变的特点,本人用PowerBuilder开发过一段时间后,,总结出一些技巧,以供广大的PB开发者借鉴使用。  一.如何创建一个报表,如下形式 Quantity Running Total 5,000 5,000 2,500 7,500 3,000 10,500 12,000 22,500  对于Running Total列,我们可使用计算列:CumulativeSum(Quantity for all),即可达到逐渐递增求和的功能。  二.数据窗口的数据送缓冲区之前确认的四个步骤 判断数据类型是否正确。如不正确则触发ItemError事件。判断数据是否符合有效性规则。如不符合有效性规则,同样触发ItemError事件。 判断是否有数据...
类别:程序开发 - PowerBuilder    查看:83    更新:2014-05-10