VBGood网站全文搜索 Google

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