微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题VB动态图形按钮的实现
栏目软件世界
作者方建文
发布2001年16期
  在一些多媒体应用程序中我们常常看到各种各样的图形按钮,这些图形按钮使应用程序界面变得更直观更友善。下面,本文利用VB的来实现这种动态按钮。
  思想方法:图形按钮以Image控件来实现;对每一个按钮准备两幅图片,一幅用于正常显示,一幅用于当鼠标指向按钮时显示;这些图片按顺序存放于ImageList控件中。下面是演示程序界面构成及代码:
   一.界面构成
  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)
   二、代码实现
  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下通过,运行时界面如下:(

)