VB动态图形按钮的实现 方建文 2001年 16期 在一些多媒体应用程序中我们常常看到各种各样的图形按钮,这些图形按钮使应用程序界面变得更直观更友善。下面,本文利用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下通过,运行时界面如下:(^16020501a^)