写在前面
这是PB案例学习笔记系列文章的第40篇,该系列文章适合具有一定PB基础的读者。
通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证小伙伴们能应付公司的各种开发需求。
文章中设计到的源码,小凡都上传到了gitee代码仓库https://gitee.com/xiezhr/pb-project-example.git

需要源代码的小伙伴们可以自行下载查看,后续文章涉及到的案例代码也都会提交到这个仓库【pb-project-example】
如果对小伙伴有所帮助,希望能给一个小星星⭐支持一下小凡。
一、小目标
通过本案例,我们将制作一个可以自由缩放的数据窗口程序。数据窗口左边和底部分别有一个拉条。
拉动垂直拉条上的游标时,数据窗口会翻页;拉动水平方向上的游标时,数据窗口会放大缩小。
最终实现效果如下

二、制作思路
在本例中,我们可以通过HtrackBar控件来调节窗口的缩放率;通过VtrackBar控件来调节窗口的翻页数。
三、创建程序基本框架
有了基本思路之后,我们就动起来开始写程序了
① 新建examplework 工作区
② 新建exampleapp应用
③ 新建w_main窗口,并将其Title设置为"数据窗口缩放显示"
由于文章篇幅的原因,以上步骤就不再赘述,如果忘记的小伙伴可以翻一翻该系列第一篇文章复习一下
四、窗口界面设计
① 创建Grid风格的数据窗口对象
单击菜单栏上的file->new命令,选择Grid格式数据窗口,接着选择Quick Select 数据源


② 创建窗口控件
在窗口中添加1个StaticEdit控件,2个CommandButton控件、1个Data Window控件、1个HtrackBar控件和
一个VtrackBar控件。分别命名为st_1、cb_1、cb_2 、dw_1、htb_1、vtb_1

④ 设置控件属性
- 将
st_1控件的Text属性设置为数据窗口缩放显示 - 将
cb_1控件的Text属性设置为查询 - 将
cb_2控件的Text属性设置为退出 - 将
dw_1的DataObject属性设置为d_emp,勾选TitleBar复选框,并将Title值设置为“缩放比率为100%”

- 将
HtrackBar控件的MaxPosition属性设置为200

⑤ 保存窗口
五、编写代码
① 在w_main窗口的open事件中添加如下代码
htb_1.position=100
vtb_1.position=1
② 在cb_1控件的Click事件中添加以下代码
dw_1.settransobject(sqlca)
dw_1.retrieve()
③ 在w_main窗口的close事件中添加如下代码
close(parent)
④ 在htb_1控件的Moved事件中添加如下代码
dw_1.object.datawindow.zoom=this.position
dw_1.title="缩放率为"+string(position)+"100%"
⑤ 在htb_1控件的lineleft事件中添加如下代码
dw_1.object.datawindow.zoom=this.position
dw_1.title="缩放率为"+string(position)+"100%"
⑥ 在htb_1控件的lineright事件中添加如下代码
dw_1.object.datawindow.zoom=this.position
dw_1.title="缩放率为"+string(position)+"100%"
⑦ 在htb_1控件的pageleft事件中添加如下代码
dw_1.object.datawindow.zoom=this.position
dw_1.title="缩放率为"+string(position)+"100%"
⑧ 在htb_1控件的pageright事件中添加如下代码
dw_1.object.datawindow.zoom=this.position
dw_1.title="缩放率为"+string(position)+"100%"
⑨ 在vbt_1控件的Moved事件中添加如下代码
dw_1.scrolltorow(this.position)
⑩ 在vbt_1控件的pageup事件中添加如下代码
dw_1.scrolltorow(this.position)
⑪ 在vbt_1控件的pagedown事件中添加如下代码
dw_1.scrolltorow(this.position)
六、运行程序看看效果

3511

被折叠的 条评论
为什么被折叠?



