PB中很实用的小技巧.docx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PB中很实用的小技巧

1.RGB函数计算公式: 颜色值 = (65536 * Blue) + (256 * Green) + (Red) 2.控件可拖动: send(handle(this),274,61458,0) 3.如何用程序控制下拉子数据窗口的下拉和收起 用modify或者直接用dw_1.object.col1.dddw.showlist = true 4.检索参数有些不需要传入则传%. 5.如何屏蔽鼠标滚轮触发 在控件的other事件写 if message.number = 522 then return 1 6.得到数据窗口的语法: string ls_dwsyntax ls_dwsyntax=dw_1.describe(datawindow.syntax) 7.得到数据窗口中各列及标题: long ll_count,i string ls_value,ls_colname ll_colnum = Long(dw_1.object.datawindow.column.count) for i = 1 to ll_colnum //得到标题头的名字 ls_colname = dw_1.describe(# + string(i) + .name) + _t ls_value = dw_1.describe(ls_colname + .text) next 8.在程序中动态设置初始值: ex:dw_contro.object.columnName.initial = xxxx 9.如何在DataWindow的SQL语法中不使用SELECT DISTINCT实现删除重复的行 起先对你要显示唯一值的列进行排序:city A,然后增加如下过滤字符串: city city [-1] or GetRow () = 1 10.如何改变列的字体颜色,提醒用户此列已做修改 在列的Color属性中,输入如下表达式IF (column_name column_name.Original, RGB(255, 0, 0), RGB(0, 0, 0))。在这个条件中,如果此列已改变,则显示红色字体,否则显示黑色字体。这个表达式主要用column_name column_name.Original比较当前列的值和原始列的值是否相同来达到判断的目的。 11.在数据窗口的clicked或doubleclicked事件中写上注释//可解决一些意外的bug! 12.如何屏蔽上下鍵触发 新建一个事件:id为pbm_dwnkey IF KeyDown(KeyDownArrow!) OR KeyDown(KeyUpArrow!) Then Return 1 End IF 13.你注意到没有,数据窗口画板里面,在写表达式的时候,试着用一些用户自定义的全局变量和全局函数,你会发现在某些特殊的场合,这个小窍门还是很有用的。 14.有些程序员在窗口的右键pop菜单里面写了很多代码,在菜单里面有很多w_windowname.controlname等等引用,如果这个窗口被继承,很容易就会出毛病,别忘了在菜单里面可以引用parentwindow哦,有了它我的pop菜单里面的代码和具体窗口无关,随便继承。当然强烈建议最好还是把所有和窗口相关的逻辑都转移到窗口的函数和事件中去,在pop菜单中触发调用。 15.whichdw.describe(evaluate(lookupdisplay(+colname+),+string(row)+)) 这个表达式可以得到指定列的显示值。(这个知识点有滥竽充数之嫌,但是一时间我真是想不起来太多的东西) 16.在数据窗口画板里面我们如果想要比较当前行和上一行或者下一行的值,怎么比较呢,哈哈,看这个就知道了 if ( yw_bc_circuit_dlcode = yw_bc_circuit_dlcode [-1] and yw_bc_circuit_dlname = yw_bc_circuit_dlname [-1] and yw_bc_circuit_xtno = yw_bc_circuit_xtno [-1] ,0,1) 这个表达式就是比较当前行和上一行是否相同的。其他的依此类推就行了。 17.两个结构相同的数据窗口之间快速复制数据 dw_1.object.data = dw_2.object.data 18.根据条件改变记录颜色 if ( Mod(getrow(),2)=0,rgb(0,255,255),rgb(255,255,255)) //奇偶行不同色 if (currentRow()=getrow(),rgb(0,255,255),rgb(255,255,255)) //当前行不同色 19.使窗口总位于所有打开窗口的最上面 w_main.S

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档