对于网页设计师而言,即便是按钮图标这一小小的设计,他们都不会掉以轻心,总是想方设法使之趋于完美。在这里就随小编一起来了解下如何用VB实现按钮浮动效果和提示效果。
在这之前,先为新手们科普下,何谓VB。VB,即Visual Basic,是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
要使用VB实现按钮浮动效果,其实现思路不少,多是采取多图片重叠显示来实现。这种方法代码量多,实现起来较繁琐。不过,我们似乎可以让这个操作来的简单些:
舍弃CommandButton控件,每个按钮用4条Line控件和一个Label控件替代。4条Line围住Label的边缘,调入窗体时,置显示属性为False,并将左、上直线的颜色设为白色,右、下直线的颜色设为黑色。当鼠标移到Label上时,4条Line的显示属性置True;当鼠标离开按钮时,将4条Line的显示属性设置为False。这样在视觉上就完全得到立体浮动的效果。另外,VB的Line控件还支持直线倾斜,以此类推,完全可以做出更加美观的倾斜按钮。
Option Explicit
Private Sub Form_Load()
初始Form与Label
Form1.Caption = “浮动按钮"
Form1.KeyPreview = False
label1.Caption = “确定"
初始4条Line的显示属性为False
Line1.Visible = False
Line2.Visible = False
Line3.Visible = False
Line4.Visible = False
初始4条Line的颜色
Line1.BorderColor = &HE0E0E0
Line2.BorderColor = &HE0E0E0
Line3.BorderColor = &H808080
Line4.BorderColor = &H808080
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
鼠标指针在窗体上(不在按钮上)时,置4条Line的显示属性为False
Line1.Visible = False
Line2.Visible = False
Line3.Visible = False
Line4.Visible = False
End Sub
Private Sub label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
鼠标指针在按钮上时,置4条Line的显示属性为True
Line1.Visible = True
Line2.Visible = True
Line3.Visible = True
Line4.Visible rue
End Sub
而当人们并不了解一个按钮图标的功效作用的时候,按钮提示效果的作用就突显出来了,那么该如何设计呢:
1.建立含有如下控件的窗体:
控件NAME
CAPTIONVISIBLEBEVELWIDTH
窗体BOTTON-DEMO浮动式图标按钮演示程序'程序窗口
3D命令按钮COMMAND3D11'作为按钮的阴影,大小与按钮一致
3D命令按钮COMMAND3D23'该按钮与阴影稍微错位叠加
标签LABEL1
FALSE'显示图标按钮作用的文字
2.定义两个整型变量,用来存储按钮左上角坐标。
(1)在目标文件列表(OBJECT)中选择GENERAL,在过程列表(PROC)中选择DECLARATIONS(声明),系统进入窗体级代码的定义窗口中。
输入下列定义:
Dimcomm2-x,comm2-yAsInteger
(2)双击窗体,进入窗体装入事件代码窗口:
SUBFORM-LOAD()
COMM2-X=COMMAND3D2.LEFT
COMM2-Y=COMMAND3D2.TOP
COMMAND3D2.Picture=LoadPicture("C:\FPW26\FOX.BMP)'装入图片
ENDSUB
3.当鼠标移到按钮上方时,使用MOVE将按钮固定放在其原来位置的右下方。由于事先已绘制好按钮的阴影,所以在视觉上就有按钮往下沉的感觉,同时激活标签显示该图标按钮作用的文字。
双击图标按钮,进入命令按钮MOUSEMOVE事件代码窗口:
SubCommand3D2-MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
command3D2.Movecomm2-x+9,comm2-y+9
LABEL1.BorderStyle=1
LABEL1.BACKCOLOR=&H0000FFFF&'显示文字的标签框底色为黄色
LABEL1.Visible=True
LABEL1.CAPTION=“演示”
EndSub
4.当鼠标一离开按钮时,就将按钮固定在其原来位置上,就可造成按钮上浮的视觉效果,同时关闭标签变量的显示。
双击窗体,进入窗体MOUSEMOVE事件代码窗口:
SubForm-MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
command3D2.Movecomm2-x,comm2-y
LEABEL1.Visible=False
EndSub
需要注意的是:以上程序在ASTPIII+4/66D上,中文WINDOWS3.2,VISUALBASIC3.0FORWINDOWS环境下运行通过。
(一品威客 SELU)
交易额: 128.29万元
无 |广东省 |深圳市 |南山区
交易额: 110.67万元
无 |浙江省 |温州市 |瓯海区
交易额: 97.63万元
工作室 |广东省 |东莞市 |东莞市
交易额: 83.31万元
公司 |广东省 |广州市 |天河区
成为一品威客服务商,百万订单等您来有奖注册中
价格是多少?怎样找到合适的人才?
¥1000 已有2人投标
¥5000 已有0人投标
¥20000 已有0人投标
¥100 已有2人投标
¥10000 已有9人投标
¥5000 已有0人投标
¥5000 已有0人投标
¥1000 已有8人投标