VB-VB动态图形按钮的实现
作者:不详 来源于:中国VB网 发布时间:2004-11-28VB动态图形按钮的实现
在一些多媒体应用程序中?我们常常看到各种各样的图形按钮,这些图形按钮使应用程序界面变得更直观更友善。下面,本文利用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 我冒着考古被删帖的危险发此帖(英雄吧)[yct13]
其实动态图片按钮,用aresbuttonpro控件就可以轻松造出,不用这么麻烦,不过估计这控件的作者也使用这种方法作的
[[i] 本帖最后由 深红喷火龙 于 2007-10-2 07:07 AM 编辑 [/i]] 不用在意考古……更新帖子性质的跟帖是不属于考古的…… 那个控件好像是要注册的吧……深喷给我的MS是一个注册程序到现在还是没有用…… 用控件的话就失去DIY的特性了~ 我一直用简单的两个image重叠实现的 我使用一个Image和一个ImageList实现 这算考古么……
其实怎么实现还不一样……不要子窗口直接在主窗口画一个出来也行嘎……麻烦点就是……根据个人喜好吧…… 不过没看懂鼠标移动到按钮上后效果怎么实现的……mouse move区分鼠标的位置么?
页:
[1]