1、PB的数据窗口可以提供数据的编辑功能,但如何在多列及行之间跳转的问题则出现了。有的人会说TAB键不就完事了吗?确实是。在WINFORM中TAB键一直以来被作为切换焦点的首选键。然而在实际应用中,根据键盘布局及中国特色等各方面因素,人们往往更习惯于用回车键,但PB不支持。所以有了下面的变通方法:
send(handle(this),256,9,long(0,0))
通过这个API语句即可实现按TAB键顺序的跳转!
下边是帮助中对于此函数的说明及例子
描述
将消息发送到一个窗口,立即执行。
语法w_emp窗口向上翻一页
Send(Handle(w_emp), 277, 2, 0)
以下两行实现父窗口的CB_OK按钮点击事件
Send(Handle(Parent), 273, 0, Handle(cb_OK))
cb_OK.TriggerEvent(Clicked!)
最小化据窗口
Send(Handle(dw_whatever), 274, 61472, 0)
最大化据窗口
Send(Handle(dw_whatever), 274, 61488, 0)
返回数据窗口到正常定义的大小
Send(Handle(dw_whatever), 274, 61728, 0)
在这个例子中,结果是一个整数变量的窗口
// Send the Windows message for LB_GETCURSEL
// to the list box
idx = Send(Handle(This), 1033, 0, 0)
idx = idx + 1
--------------------------------------------------------------------
2、PB中的公式属性
说它是公式属性是因为其属性值可通过公式来定义,而且其公式与PB代码编写风格类似于VB一样。公式的编写更接近于VBA
下边来看一下指定某列颜色的公式属性:
f (jjcd='0' , rgb(0,0,255), if (jjcd='1' , rgb(238,99 ,99 ), if (jjcd='2' , rgb(255,0,00), rgb(165,42 ,42 ) ) ) )
这条语句实现了按【JJCD】这个字段的不同值来设置不同的颜色,其IF嵌套语法与EXCEL中的一样。
--------------------------------------------------------------------
3、获取DATAWINDOW列的显示值
在开发中,特别是做维护类程序时,我们经常需要在字段中挂载子数据窗口,保存时只需保存DATACOLUMENT即可。但在一些应用中,如需要提示时,我们还要取显示的内容。那我们可以用下边的语句实现。collumentName为挂载子窗口的列,RowNumber为当前记录所在的行号
dw_2.Describe("Evaluate('lookupdisplay( collumentName )',"+RowNumber +")")