荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Peter (小飞侠), 信区: Program
标  题: VB图片框在报表设计中屏幕滚动的问题
发信站: BBS 荔园晨风站 (Wed Jan 27 17:50:02 1999), 转信


    太原工业大学计算机系(030024) 李亚东
    Microsoft Visual Basic以其简单、易学及功能强大的特点正在
Windows应用开发中越来越为广大用户及程序设计人员所青睐。VB是W
indows环境下速度最快的编程工具,VB作为工作组级的软件开发工具
在国外也十分流行,而对于软件开发者来说,熟练掌握一种企业级和工
作组级的工具是非常必要的。
    在Windows应用程序开发过程中,无可避免地要经常遇到滚动问题
。特别是在制作报表的应用程序中,由于表的大小往往超出屏幕的大
小,这样就不能够利用VB所提供的各种控件直接在Form上组合出所要
求的报表。通常解决的方法为:先用控件组合出表体的一部分,然后利
用算法显示其他部分。例:可使表体对应一数组,控制控件每次只显示
数组的一部分来达到滚动的目的。此种方法并不是真正意义上的滚动
,只是在视觉效果上达到了滚动,对于开发人员来说不直观易行。
图1
图2
    VB的图片框(Picture Box)可被用来制作很多特殊效果。例如:我
们可以制作出电影字幕滚动的效果。只要利用两个Picture Box控件,
使其中的一个附属于另一个即可(如图一)。程序运行中,设定Picture
1的位置不变并把要显示的内容输出到Picture2中,不断地按照Timer
改变Picture2的位置即可实现滚动。利用此原理,当我们要制作一个
既有横滚又有纵滚的报表时,可利用6个Picture Box控件来达到此目
的。具体实现如图二所示。其中Picture1,3,5 为固定位置Picture,
而Picture2,4,6则分别附属于Picture1,3,5。将横表头内容用控件在
P icture2中画出(注:所用控件必须附属于Picture2,Picture2的大小
由表头内容长度决定,Pi cture1的大小决定了可显尺寸)。同理将纵
表头内容以及表体内容分别在Picture4,6中画出。特别表体可用"loa
d"控件数组的方法堆出,但Picture6的大小一定要调整到能全部容纳
所有"load"控件的程度(鼠标无效时可用属性调整),最后设置好横纵
滚动条的参数。程序运行时,先置Picture2,4,6的位置(Left,Top)为(
0,0),当纵滚动条被按下时,按滚动条的value值设定Picture4,6的Top
值;当横滚动条被按下时,按滚动条的value值设定Picture2,6的Left
值,可实现所需滚动。此方法在实际制作中简单易行,无需算法。滚动
条的值与位置直接对应, 直观易行。而且滚动大小任意,可实现单象
素滚动

--
※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.1.3]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店