在VB中用PictureClip控件實現動畫
VB的功能強大,比如用PictureClip等控件組合就可以輕松實現動畫。
PictureClip控件本身并不能顯示圖像,它是依靠與picture控件或IMAGE控件的組合來完成動畫的。PictureClip控件就像是一個圖片倉庫,所不同的是倉庫中的圖片只有一張。PictureClip控件將此圖片平均分成若干區域,程序運行時PictureClip控件將指定的區域賦值給一個顯示控件的有關屬性,如picture控件的picture屬性。
下面我們以VB50為例,具體的來介紹使用PictureClip控件實現動畫。
首先,我們應該確定工具箱中有PictureClip控件,如果沒有,我們應通過工程菜單的“部件”來添加PictureClip控件。
有了PictureClip控件后,在窗體上添加PictureClip控件。按F4鍵顯示屬性窗口,雙擊“自定義”屬性則出現一個“屬性頁”對話窗口。選取“圖片”項,單擊“瀏覽”選定一個圖片。一般情況下此圖片應是若干個大小相同的小圖片組成。我們以VB例程中的REDTOPBMP為例,選取一個圖片后我們在“預覽”框中就可以看見圖片全貌。我們發現REDTOPBMP圖片由三行六列共18個小圖片組成,選擇“通用屬性”項,根據我們的上述發現,定義好“行”、“列”的值,劃分好圖形區域。
此時我們在窗體上就可以看見REDTOP圖片。在運行時PictureClip控件是不可見的,所以不需要理會PictureClip控件的位置。
在以后的過程中,我們可以將一圖形顯示控件,調整大小,放在窗體中指定的位置,將PictureClip控件中指定區域,賦值給顯示控件的picture屬性,便可以顯示圖形了,設PictureClip控件區域值為一變量,在定時控件中,用循環語句改變此變量,就可以實現動畫了。例程如下:
| Dim a As Integer′在模塊說明中定義a變量 Private Sub Form_Load() ′指定picture1的圖形為PictureClip控件中的第二個圖形區域 picture1.picture=PictureClip1.GraphicCell(1) ′定義變量a的初始值和定時控件的時間間隔屬性 a=1 Timer1.Interval=100 End Sub Private Sub Timer1_Timer() ′每發生一次Timer事件時改變變量a的值 a=a+1:If a=18 Then a=0 ′利用變量值的改變給picture1控件指定不同的圖形 picture1.picture=PictureClip1.GraphicCell(a) End Sub |
怎么樣,如此簡單就可以實現動畫!如法炮制,我們可以實現立體圖形按鈕等效果。
以上是我在自學VB的過程中學會的一個小技巧,希望它能起到一個拋磚引玉的作用。