MicrosoftVisualBasic以其簡(jiǎn)單、易學(xué)及功能強(qiáng)大的特點(diǎn)正在Windows應(yīng)用開(kāi)發(fā)中越來(lái)越為廣大用戶及程序設(shè)計(jì)人員所青睞。VB是Windows環(huán)境下速度最快的編程工具,VB作為工作組級(jí)的軟件開(kāi)發(fā)工具在國(guó)外也十分流行,而對(duì)于軟件開(kāi)發(fā)者來(lái)說(shuō),熟練掌握一種企業(yè)級(jí)和工作組級(jí)的工具是非常必要的。
在Windows應(yīng)用程序開(kāi)發(fā)過(guò)程中,無(wú)可避免地要經(jīng)常遇到滾動(dòng)問(wèn)題。特別是在制作報(bào)表的應(yīng)用程序中,由于表的大小往往超出屏幕的大小,這樣就不能夠利用VB所提供的各種控件直接在Form上組合出所要求的報(bào)表。通常解決的方法為:先用控件組合出表體的一部分,然后利用算法顯示其他部分。例:可使表體對(duì)應(yīng)一數(shù)組,控制控件每次只顯示數(shù)組的一部分來(lái)達(dá)到滾動(dòng)的目的。此種方法并不是真正意義上的滾動(dòng),只是在視覺(jué)效果上達(dá)到了滾動(dòng),對(duì)于開(kāi)發(fā)人員來(lái)說(shuō)不直觀易行。
VB的圖片框(PictureBox)可被用來(lái)制作很多特殊效果。例如:我們可以制作出電影字幕滾動(dòng)的效果。只要利用兩個(gè)PictureBox控件,使其中的一個(gè)附屬于另一個(gè)即可(如圖一)。程序運(yùn)行中,設(shè)定Picture1的位置不變并把要顯示的內(nèi)容輸出到Picture2中,不斷地按照Timer改變Picture2的位置即可實(shí)現(xiàn)滾動(dòng)。利用此原理,當(dāng)我們要制作一個(gè)既有橫滾又有縱滾的報(bào)表時(shí),可利用6個(gè)PictureBox控件來(lái)達(dá)到此目的。具體實(shí)現(xiàn)如圖二所示。其中Picture1,3,5為固定位置Picture,而Picture2,4,6則分別附屬于Picture1,3,5。將橫表頭內(nèi)容用控件在Picture2中畫(huà)出(注:所用控件必須附屬于Picture2,Picture2的大小由表頭內(nèi)容長(zhǎng)度決定,Picture1的大小決定了可顯尺寸)。同理將縱表頭內(nèi)容以及表體內(nèi)容分別在Picture4,6中畫(huà)出。特別表體可用"load"控件數(shù)組的方法堆出,但Picture6的大小一定要調(diào)整到能全部容納所有"load"控件的程度(鼠標(biāo)無(wú)效時(shí)可用屬性調(diào)整),最后設(shè)置好橫縱滾動(dòng)條的參數(shù)。程序運(yùn)行時(shí),先置Picture2,4,6的位置(Left,Top)為(
0,0),當(dāng)縱滾動(dòng)條被按下時(shí),按滾動(dòng)條的value值設(shè)定Picture4,6的Top值;當(dāng)橫滾動(dòng)條被按下時(shí),按滾動(dòng)條的value值設(shè)定Picture2,6的Left值,可實(shí)現(xiàn)所需滾動(dòng)。此方法在實(shí)際制作中簡(jiǎn)單易行,無(wú)需算法。滾動(dòng)條的值與位置直接對(duì)應(yīng),直觀易行。而且滾動(dòng)大小任意,可實(shí)現(xiàn)單象素滾動(dòng).->