VB动态图形按钮的实现

在一些多媒体应用程序中,我们常常看到各种各样的图形按钮,这些图形按钮使应用程序界面变得更直观更友善。下面,本文利用VB的来实现这种动态按钮。
   思想方法:图形按钮以Image控件来实现;对每一个按钮准备两幅图片,一幅用于正常显示,一幅用于当鼠标指向按钮时显示;这些图片按顺序存放于ImageList控件中。下面是演示程序界面构成及代码:
  #1 一.界面构成
   1. Form主窗体
   Name:Form1
   Caption:动态图形按钮演示
   BackColor:&H80000005& (白色)
   2.Label用于显示选择哪一个按钮
   Name:Label1
   3.ImageList控件用于存储图片,ImageList 属于控件组Microsoft Windows Common Controls 5.0 (COMCTL32.OCX)中的一个。
   把用于按钮的图片按顺序存放在ImageList中。
   4.Image控件用于显示图像
   创建Image数组Image1(1)-Image1(4)
  #1 二、代码实现
   Dim butStatus (1 To 4) As Boolean '按钮的状态数组
   Dim butMessage (1 To 4) As String '提示信息数组
   Private Sub Form_Load()
   Dim i As Integer
   For i = 1 To 4
   Image1(i).Picture = ImageList1.ListImages(2 * i - 1).Picture
   butStatus(i) = False
   Next
   butMessage(1) = “点击了圆形按钮”
   butMessage(2) = “点击了房子按钮”
   butMessage(3) = “点击了鲜花按钮”
   butMessage(4) = “点击了退出按钮”
   End Sub
   Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   For i = 1 To 4
   If butStatus(i) Then
   Image1 (i).Picture = ImageList1.ListImages(2 * i - 1).Picture
   butStatus(i) = False
   End If
   Next
   End Sub
   Private Sub Image1_Click(Index As Integer)
   Label1.Caption = butMessage(Index)
   Beep
   End Sub
   Private Sub Image1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
   If Not butStatus(Index) Then
   Image1(Index).Picture = ImageList1.ListImages(Index * 2).Picture
   butStatus(Index) = True
   End If
   End Sub
   本程序在VB6.0下通过,运行时界面如下:((图1)

图1
图1