口袋社区-Poke The BBS's Archiver

最美我中文 发表于 2007-8-19 19:20

VB-VB动态图形按钮的实现

作者:不详  来源于:中国VB网  发布时间:2004-11-28
VB动态图形按钮的实现
  在一些多媒体应用程序中?我们常常看到各种各样的图形按钮,这些图形按钮使应用程序界面变得更直观更友善。下面,本文利用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

深红喷火龙 发表于 2007-10-1 21:44

我冒着考古被删帖的危险发此帖(英雄吧)[yct13]
其实动态图片按钮,用aresbuttonpro控件就可以轻松造出,不用这么麻烦,不过估计这控件的作者也使用这种方法作的

[[i] 本帖最后由 深红喷火龙 于 2007-10-2 07:07 AM 编辑 [/i]]

liuyanghejerry 发表于 2007-10-1 22:00

不用在意考古……更新帖子性质的跟帖是不属于考古的……

roywillow 发表于 2007-10-2 11:14

那个控件好像是要注册的吧……深喷给我的MS是一个注册程序到现在还是没有用……

最美我中文 发表于 2007-10-2 11:46

用控件的话就失去DIY的特性了~

roywillow 发表于 2008-6-8 22:04

我一直用简单的两个image重叠实现的

最美我中文 发表于 2008-6-9 09:39

我使用一个Image和一个ImageList实现

深红喷火龙 发表于 2008-6-9 21:33

这算考古么……

其实怎么实现还不一样……不要子窗口直接在主窗口画一个出来也行嘎……麻烦点就是……根据个人喜好吧……

roywillow 发表于 2008-7-19 16:02

不过没看懂鼠标移动到按钮上后效果怎么实现的……mouse move区分鼠标的位置么?

页: [1]

Powered by Discuz! Archiver 6.1.0F  © 2001-2007 Comsenz Inc.