
1 在mousemove事件(pbm_dwnmousemove)中写代码,判断dwoname, 为datawindow的时候,用modify设置写有“双击下一页”啊text标签,其他的情况下隐藏该标签。
2 在双击事件中写代码, 获取dw_1的当前page()和pagecount(), 如果page=pagecount 调用 setRow(RowCount()) ScrollToRow(RowCount()) 设置到最后一样,其他的情况下,设置行到本页的第一行就ok 了。
处理blob类型数据
对于大二进制数据 在PB Script中是用blob数据类型表示并加以处理 标准SQL语句中的select insert和update语句无法直接查询blob类型的数据 在PB中 *** 作blob类型的数据只能用专用的语句 从数据库中查询blob类型的数据的命令是
selectblob restofselectstatement {using transactionobject}
更新数据库中blob类型数据的格式是
updateblob tablename set blobcolumn = blobvariblerestofupatestatement {using transctionobject}
如连接的数据库是sybase或者Sql 则selectblob和updateblob语句要求数据库的自动提交方式为true 所以在在每次调用selectblob和updateblob语句以前必须用命令 Sqlca automit=true 把数据库的自动提交方式设置为true 在updateblob语句的结束后 再用命令Sqlca automit = false 把自动提交方式设置为false 索数据的参数(如flag) 然后在可修改列的Protect后的框中输入(user_name是该DataWindow中的一列 代表输入者的名称)
数据窗口的blob列
数据窗口blob列的功能
在PB 的datawindow画板中DBOLE控件允许用户利用这个控件浏览和 *** 作数据库中的大二进制数据 即通过DBOLE控件可以作如下 *** 作
往数据库中存储大二进制数据 如 excel工作表 word文档 视频文件 文件等各种格式的文件
从数据库中检索数据到datawindow对象
使用OLE服务器程序察看修改数据
将修改后的数据保存回数据库
在数据窗口中添加blob列的的步骤
)选择具有二进制字段的数据表作为数据源建立一新的数据窗口(该窗口可以至少需要包含非数据库表的标识列)
)选择insert control OLE database blob 菜单 在数据窗口的detail节中要插入blob列的位置单击鼠标 这时将显示如图 所示的对话框
下面解释这些属性的具体含义
)client class 客户类名 默认为datawindow
)client name 客户名 默认为untitled
)table: 选择含有blob列的数据库表 所选表的字段将出现在右侧的large binary/text column列表框中
)large binary/text column 选择一个blob类型的字段列
)key clause 检索和更新blob数据的关键字表达式其中使用带冒号前缀的变量指出是数据窗口对象的列 如 表达式 id=:id id是数据库表中的列 变量指出数据窗口对象的列
)filetemplate 如果需要OLE应用服务器每次打开相同的文件 则在filetemplate框中输入文件名
)OLE class 如果不需要OLE应用服务器每次打开相同的文件 则在OLE class框中选择一个OLE类 如Pbrush
)Client name expression 显示在OLE服务器应用程序窗口标题的文字 可以输入为 对应记录的id号是 +id
单击ok按钮关闭对话框 将dbole列添加到适当的位置 保存数据窗口
lishixinzhi/Article/program/SQL/201311/16229
COMPOSITE 是报表的显示,及打印的时候用的多,这种dw一般是不编辑,不对子dw做 *** 作的
你点击子dw,返回的整个dw object,比如,你的一个子窗口为dw_1,那么你点击 dw_1是任何位置,返回的 dwoname,都是dw_1
所有通过点击是不能直接获取字段名的,一定要的话,那就可以考虑获取鼠标的位置,来匹配dw_1控件位置,从而获取点击的是哪个控件
我用的按键是V592版,免费的,没有“一键获取当前鼠标的坐标和颜色”这个功能,不知道新版本有没有,只有“得到鼠标当前位置”和“得到指定点颜色”这两个功能一起用。
你的脚本获取坐标的语句没有错,只是d出窗口那一句有问题,所以显示不出来,改成下面这样就行了
VBS dim x,y
//声明变量
VBSCall GetCursorPos(x,y)
//得到当前鼠标的坐标位置 并保存到变量x,y中
VBSCall MessageBox("坐标为:x="+cstr(x)+" y="+cstr(y))
//d出窗口 输出坐标的值
SetPointer()是这只鼠标形状的,HourGlass!表示把鼠标设置成沙漏形状,此外还有Arrow!
语法SetPointer ( type )
参数type:Pointer枚举类型,指明要设置为哪种鼠标指针返回值Pointer。返回更换前的鼠标指针,以便于应用程序恢复原有指针。如果参数type的值为NULL,SetPointer()函数返回NULL。用法type参数的可能取值为:Arrow!、Cross!、Beam!、HourGlass!、SizeNS!、SizeNESW!、SizeWE!、SizeNWSE!、UpArrow!。
您好,很高兴能帮助您,
获取tab控件的焦点值
PB中有tab控件有五个tabpage,selectedtab值为1的时候,说明是第一个tabpage是选中的状态,当鼠标放到第二个tabpage的时候,我想判断鼠标是放到第二还是第几个tabpage上了,不知道我说明白没有。
------解决方案--------------------------------------------------------
说明白了,你需要取得鼠标所在的位置,可以使用api函数GetCursorPos
然后根据位置判断在哪个tab页上
------解决方案--------------------------------------------------------查看下
SelectionChanged
Occurswhenatabisselected
你的采纳是我前进的动力,还有不懂的地方,请你继续“追问”!
如你还有别的问题,可另外向我求助;答题不易,互相理解,互相帮助!
以上就是关于PB中鼠标放在控件(dw_1)上显示文字 "双击下一页"全部的内容,包括:PB中鼠标放在控件(dw_1)上显示文字 "双击下一页"、在PB中用OLE存取blob类型数据(二)、如何获取PB中COMPOSITE报表点击的字段名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)